Это, вероятно, во многих часто задаваемых вопросах - вместо использования:
cat file | command
(что называется бесполезным использованием кошки), правильный путь должен быть:
command < file
 Во-вторых, "правильный" путь - ОС не должна порождать дополнительный процесс. 
 Несмотря на это, я продолжал использовать бесполезную кошку по двум причинам.
-  более эстетично - мне нравится, когда данные перемещаются равномерно только слева направо. И проще заменить catчем-то другим (gzcat,echo,...), добавить второй файл или вставить новый фильтр (pv,mbuffer,grep...).
-  Я "почувствовал", что в некоторых случаях это может быть быстрее. Быстрее, потому что есть 2 процесса, первый ( cat) читает, а второй делает что угодно. И они могут работать параллельно, что иногда означает более быстрое выполнение.
Правильна ли моя логика (по 2-й причине)?
