为什么 tr 命令不从文件中读取?

mkc*_*mkc 13 history tr

我查找了一本 Unix 书籍、man 和 wikipedia 页面,tr但找不到它的设计/实现方式的原因,即它不从文件中读取,而仅从标准输入中读取。例如,工具,例如wcgrepsed,和awk所有将愉快地从文件,如果提供读取输入或从标准输入。以tr这种方式设计是否/是否有令人信服的理由?

use*_*275 15

UNIX哲学倡导的“小,锋利的工具”,所以答案是,从文件中读取会膨胀违背了UNIX哲学。至于为什么wcgrepsedawk等确实从文件中读取,答案是它们都具有需要多个输入或输入选择或需要直接访问文件的功能。由于tr这些原因不常用,您可以使用以下表格之一来满足您的需求;

tr ... < file
tr ... < file > file2
tr ... < file | sponge file
Run Code Online (Sandbox Code Playgroud)