Бесполезное использование кошки?
Это, вероятно, во многих часто задаваемых вопросах - вместо использования:
cat file | command
(что называется бесполезным использованием кошки), правильный путь должен быть:
command < file
Во 2-ом, "правильно" Кстати - ОС не должна порождать лишний процесс.
Несмотря на это, я продолжал использовать бесполезную кошку по двум причинам.
more aesthetic - I like when data moves uniformly only from left to right. And it easier to replace cat
with something else (gzcat
, echo
, ...), add a 2nd file or insert new filter (pv
, mbuffer
, grep
...).
I "felt" that it might be faster in some cases. Faster because there are 2 processes, 1st (cat
) does the reading and the second does whatever. And they can run in parallel, which means sometimes faster execution.
Правильна ли моя логика (по 2-й причине)?