Busqué un libro de Unix, el hombre y la página de Wikipedia, tr
pero no pude encontrar una razón por la cual fue diseñado / implementado de tal manera que no se lea del archivo, sino estrictamente solo de la entrada estándar. Por ejemplo, las herramientas tales como wc
, grep
, sed
, y awk
todos serán felices para leer la entrada desde un archivo si se proporciona o de la entrada estándar. ¿Hubo / hay una razón convincente para diseñar de tr
esta manera?
10
tr
de Multics como un derivado de la función incorporada PL / 1translate
, que a su vez era una generalización de unTR
comando en la arquitectura System / 360 (consulte la Tarjeta verde de IBM System-360 ). Vale la pena señalar que la implementación de QNX en realidad podría leer desde un archivo a través de-r
Respuestas:
La filosofía de UNIX aboga por "herramientas pequeñas y afiladas", por lo que la respuesta es que leer un archivo sería totalmente contrario a la filosofía de UNIX. En cuanto a por qué
wc
,grep
,sed
,awk
, etc qué leen de archivos, la respuesta es que todos ellos tienen características que requieren más de una entrada o selección de entrada o se opongan a ello el acceso directo a los archivos. Comotr
no se usa comúnmente por esas razones, se le deja uno de los siguientes formularios para satisfacer sus necesidades;fuente