パイプとリダイレクト

パイプとリダイレクトの使い方

パイプ

パイプはコマンド間の標準入出力を接続するもの。

// 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
Last modified 2020.05.13