2009年7月1日水曜日

Linuxリダイレクト処理めも

どうも俺です。
今日はLinuxの出力(標準出力、標準エラー出力)についてまとめておこうと思います。

まず、パイプについてですが、とあるコマンドの結果を別のコマンドへ引き継ぐ場合は
$ ls | grep foo
などとします。
これはlsした一覧からfooにマッチするものだけを表示します。

基本的に標準出力は
$ echo 'foo' > foo.log
で、'foo'をfoo.logに書き込みます。
追記書き込みの場合は
$ echo 'foo' >> foo.log
です。

標準出力と標準エラー出力を同じファイルへ書き出すには
csh tcshの場合
$ command >& foo.log
bashの場合
$ command > foo.log 2>&1
です。

標準出力と標準エラー出力を別々のファイルへ書き出すには
csh tcshの場合
$ (command > stdout.log) >& stderr.log
bashの場合
$ command > stdout.log 2> stderr.log
です。

標準出力だけファイルへ書き出して、標準エラー出力は書き出さない場合は
csh tcshの場合
$ (command > foo.log) >& /dev/null
bashの場合
$ command > foo.log 2> /dev/null
です。

とりえあずこれだけあれば、何とかなるはずです。
あとはみなさま調べてみてください。

以上。・゚・(ノε`)・゚・。

0 件のコメント: