Procurei um livro do Unix, o homem e a página da Wikipedia, tr
mas não consegui encontrar uma razão para que ele tenha sido projetado / implementado de tal forma que não leia do arquivo, mas estritamente apenas da entrada padrão. Por exemplo, ferramentas, como wc
, grep
, sed
, e awk
tudo vai ler felizmente entrada de arquivo se fornecido ou da entrada padrão. Houve / existe uma razão convincente para projetar tr
dessa maneira?
10
tr
do Multics como um derivado da função interna PL / 1translate
, que por sua vez era uma generalização de umTR
comando na arquitetura System / 360 (consulte IBM System-360 Green Card ). Vale notar que QNX implementação poderia realmente lidos de um arquivo via-r
Respostas:
A filosofia do UNIX defende "ferramentas pequenas e precisas"; portanto, a resposta é que a leitura de um arquivo seria uma inchação contrária à filosofia do UNIX. Quanto ao porquê
wc
,grep
,sed
,awk
, etc lêem a partir de arquivos, a resposta é que todos eles têm características que requerem mais do que uma entrada ou seleção de entrada ou de outra forma exigir acesso direto aos arquivos. Comotr
não é comumente usado por esses motivos, você fica com um dos seguintes formulários para atender às suas necessidades;fonte