パイプとリダイレクト
パイプ
パイプはコマンド間の標準入出力を接続するもの。
// man コマンドの出力結果を less に接続する
$ man -k man | less
標準出力するとともにファイルにも出力したい場合にはtee
コマンドをパイプする。
// man コマンドの出力結果を標準出力とファイルに出力する
$ man -k man | tee man.txt | less
// ファイルに追記したいときは
$ man -k man | tee -a man.txt | less
リダイレクト
リダイレクトはコマンドの入出力をファイルとするもの。
標準出力をファイルに出力するときは1>
、追記したいときは1>>
。(1は省略可能)
標準エラー出力をファイルに出力するときは2>
、追記したいときは2>>
。
// man コマンドの出力結果をファイルに
$ man -k man > man.txt
// 標準エラー出力をファイルに
$ man -j man 2> man.txt
// 標準出力と標準エラー出力を同じファイルに出力する
$ man -k man > man.txt 2>&1
// リダイレクトを使って標準出力、標準エラー出力に出力する
$ echo "success" >&1
$ echo "error" >&2
// foo.txt から "bar" を検索、結果を result.txt に出力する
$ grep "bar" < foo.txt > result.txt