1. ホーム
  2. linux

[解決済み] 出力をファイルや標準出力にリダイレクトする方法

2022-03-17 05:50:51

質問

bashで foo は、そのコマンドの出力をすべて標準出力に表示します。

呼び出し foo > output は、そのコマンドからの出力を指定されたファイル (この場合は 'output') にリダイレクトします。

出力をファイルにリダイレクトする方法はありますか? 標準出力に表示させることができますか?

解決方法は?

必要なコマンドは tee :

foo | tee output.file

例えば、stdoutだけを気にする場合。

ls -a | tee output.file

stderrを含める場合は、そうしてください。

program [arguments...] 2>&1 | tee outfile

2>&1 チャンネル 2 (stderr/ 標準エラー) をチャンネル 1 (stdout/ 標準出力) にリダイレクトし、両方を stdout として書き出すようにします。また、指定された出力ファイルへのリダイレクトは tee コマンドを使用します。

さらに、もし アペンド をログファイルに追加するには tee -a としています。

program [arguments...] 2>&1 | tee -a outfile