私は Unix の本、マニュアル、Wikipedia のページを調べましたtr
が、ファイルからではなく厳密に標準入力からのみ読み取るように設計/実装された理由を見つけることができませんでした。たとえば、、、などのツールはwc
すべてgrep
、sed
提供されている場合はファイルから、または標準入力から入力を読み取ります。このようにawk
設計するやむを得ない理由はありましたか?tr
答え1
のUNIX哲学は「小さくて鋭いツール」を提唱しているので、答えは、ファイルからの読み取りは UNIX の哲学に反して肥大化するということです。、、、などがファイルから読み取る理由についてはwc
、grep
それらsed
はawk
すべて、複数の入力または入力選択を必要とする機能、またはファイルへの直接アクセスを必要とする機能を持っているためです。tr
これらの理由から は一般的に使用されていないため、ニーズを満たすには次のいずれかの形式を使用する必要があります。
tr ... < file
tr ... < file > file2
tr ... < file | sponge file