コマンド結果をファイルに出力しよう
新規にファイルを作成する
コマンドの結果をファイルに出力するやり方は、以下のようになります。
これをファイルにリダイレクトするといいます。
ファイル名のみを指定した場合は、カレントディレクトリにファイルが作成されます。
また、既にファイルがあった場合は、指定したファイルが上書きされます。
コマンド名 > ファイル名
実行例
$ date > result.txt
$ cat result.txt
Wed Feb 26 11:44:52 JST 2020
既存ファイルに追記する
既にあるファイルにコマンドの結果を追記するやり方は、以下のようになります。
コマンド名 >> ファイル名
command
$ date >> result.txt
$ cat result.txt
Wed Feb 26 11:44:52 JST 2020
Wed Feb 26 11:51:17 JST 2020
標準エラー出力をファイルに出力する
画面に表示されるエラーメッセージは、ファイルには出力されません。
エラーメッセージもファイルに出力するやり方は、以下のようになります。
<新規にファイルを作成する場合>
コマンド名 > ファイル名 2>&1
<既存のファイルに追記する場合>
コマンド名 >> ファイル名 2>&1
実行例
$ date -? > result.txt 2>&1
$ cat result.txt
date: invalid option -- '?'
Try 'date --help' for more information.
標準エラー出力を別ファイルに出力する
エラーメッセージを通常のメッセージとは別のファイルに出力するやり方は、以下のようになります。
<新規にファイルを作成する場合>
コマンド名 > ファイル名1 2> ファイル名2
<既存のファイルに追記する場合>
コマンド名 >> ファイル名1 2>> ファイル名2
実行例
$ date -? >> result.txt 2>> error.txt
$ cat error.txt
date: invalid option -- '?'
Try 'date --help' for more information.
date: invalid option -- '?'
Try 'date --help' for more information.