Por que o comando tr não lê o arquivo?

Por que o comando tr não lê o arquivo?

Procurei um livro Unix, o man e a página da Wikipedia, trmas não consegui encontrar uma razão pela qual ele foi projetado/implementado de tal maneira que não lê o arquivo, mas estritamente apenas a partir da entrada padrão. Por exemplo, ferramentas como wc, grep, sede awktodas lerão alegremente a entrada do arquivo, se fornecida, ou da entrada padrão. Houve/existe uma razão convincente para projetar trdessa maneira?

Responder1

OFilosofia UNIXdefende "ferramentas pequenas e afiadas", então a resposta é que a leitura de um arquivo seria um inchaço, ao contrário da filosofia UNIX. Quanto ao motivo pelo qual wc, grep, sed, awk, etc leem arquivos, a resposta é que todos eles possuem recursos que exigem mais de uma entrada ou seleção de entrada ou, de outra forma, exigem acesso direto aos arquivos. Como trnão é comumente usado por esses motivos, você terá um dos seguintes formulários para atender às suas necessidades;

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

informação relacionada