初級小ネタ。
例えばgrep(1)する際に、こんな感じのサンプルコードが示されることがある。
cat file.txt | grep foo
しかし個人的には次のほうが好みだ。
grep foo file.txt
せっかく引数でファイルを指定できるのだから、そちらを使いたい気分になるのだ。
tr(1)のように標準入力しか受け付けないコマンドや、wc(1)のようにファイルか標準入力かで出力が変化するコマンド(で、標準入力の場合の挙動の方が望ましいケース)では、リダイレクトを使う書き方をする。
tr [abc] [ABC] <file.txt wc -l <file.txt
わざわざcat(1)を使ってテキストフィルタに流し込むのは、複数のファイルを連結した結果に対して何かを行いたい場合ぐらいだが、機会は少ない。