PROGRAM SHELL

初心者のためのbash超入門【第17回 ファイル出力】

 

 

コマンド結果をファイルに出力しよう

 

新規にファイルを作成する

コマンドの結果をファイルに出力するやり方は、以下のようになります。
これをファイルにリダイレクトするといいます。
ファイル名のみを指定した場合は、カレントディレクトリにファイルが作成されます。
また、既にファイルがあった場合は、指定したファイルが上書きされます。

コマンド名 > ファイル名

 実行例
$ 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.

 

 

-PROGRAM, SHELL