Warum liest der Befehl tr nicht aus der Datei?

Warum liest der Befehl tr nicht aus der Datei?

Ich habe in einem Unix-Buch nachgeschlagen, den Mann und die Wikipedia-Seite für, trkonnte aber keinen Grund finden, warum es so entworfen/implementiert wurde, dass es nicht aus einer Datei, sondern strikt nur von der Standardeingabe liest. Beispielsweise lesen Tools wie wc, grep, sed, und awkalle problemlos Eingaben aus einer Datei, wenn diese bereitgestellt wird, oder von der Standardeingabe. Gab/gibt es einen zwingenden Grund, tres so zu entwerfen?

Antwort1

DerUNIX-Philosophieplädiert für „kleine, scharfe Werkzeuge“, daher ist die Antwort, dass das Lesen aus einer Datei eine aufgeblähte Angelegenheit wäre, die der UNIX-Philosophie zuwiderläuft. Die Antwort auf die Frage, warum wc, grep, sed, awk, usw. aus Dateien lesen, ist, dass sie alle Funktionen haben, die mehr als eine Eingabe oder Eingabeauswahl erfordern oder anderweitig direkten Zugriff auf die Dateien erfordern. Da traus diesen Gründen nicht häufig verwendet wird, bleibt Ihnen eine der folgenden Formen, um Ihren Anforderungen gerecht zu werden;

tr ... < file
tr ... < file > file2
tr ... < file | sponge file

verwandte Informationen