[解決済み] 標準出力ではなく標準エラー出力にパイプを通すにはどうしたらいいですか?
2022-03-20 18:45:07
質問
に情報を書き込むプログラムがあります。
stdout
と
stderr
を処理する必要があります。
stderr
と
grep
を残して
stdout
を脇に置く。
一時ファイルを使えば、2つのステップでできる。
command > /dev/null 2> temp.file
grep 'something' temp.file
しかし、一時ファイルなしで、1つのコマンドとパイプを使って、どのようにこれを実現するのでしょうか?
解決方法は?
まず、標準エラー出力を標準出力(パイプ)にリダイレクトし、次に標準出力から
/dev/null
(stderrの行き先は変えずに)。
command 2>&1 >/dev/null | grep 'something'
I/Oリダイレクションの詳細については、「I/Oリダイレクション」の章を参照してください。 リダイレクション Bashリファレンスマニュアルに記載されています。
I/Oリダイレクションの順序は左から右へと解釈されますが、パイプはI/Oリダイレクションが解釈される前に設定されていることに注意してください。 1や2などのファイルディスクリプタは、開いているファイル記述への参照である。 操作
2>&1
ファイルディスクリプタ2、別名stderrは、ファイルディスクリプタ1、別名stdoutが現在参照しているのと同じオープンファイルの記述を参照するようになる(
dup2()
と
open()
). 操作
>/dev/null
のオープンファイル記述を参照するように、ファイル記述子 1 を変更する。
/dev/null
しかし、ファイル記述子2が、ファイル記述子1がもともと指していたオープンファイルの記述、つまりパイプを指しているという事実は変わりません。
関連
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] あるディレクトリにあるすべてのコード行を再帰的にカウントするにはどうすればよいですか?
-
[解決済み] Bashで標準出力と標準エラーの両方をファイルにリダイレクトして追記する方法
-
[解決済み] Pythonで標準エラー出力するには?
-
[解決済み] 出力をファイルや標準出力にリダイレクトする方法
-
[解決済み] Windowsのcmdの標準出力と標準エラー出力を1つのファイルにリダイレクトする
-
[解決済み] Bashでstderrとstdoutをリダイレクトする [重複]。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】if [](角括弧)の「[: 引数が多すぎる」エラーの意味)
-
[解決済み】shでJenkinsのステージから他のステージに変数を渡す
-
[解決済み] テスト
-
[解決済み] bash : cd : 引数が多すぎる [閉店].
-
[解決済み] Bashで$()と`の違いはあるのでしょうか?重複] [重複
-
[解決済み] configureコマンドが見つからない cygwin
-
[解決済み] ssh / リモートbashコマンドでシングルクォート文字をエスケープするにはどうすればよいですか?
-
[解決済み] Bash/Terminalで複数行の環境変数を書き出す方法 例: RSA秘密鍵
-
[解決済み] cygwin の ssh が終了時に "Killed by signal 1" と表示される
-
[解決済み] パイプと二重パイプのどちらの OR 演算子を使うか?