Ответы:
К вашему заглавному вопросу: Нет. Получение stdin
из содержимого файла ( перенаправление ввода ) - это не то же самое, что отправка вывода одной программы на вход другой программы.
Но, поскольку вы на cat
самом деле просто печатаете содержимое файла, результат в этом примере практически одинаков.
Но даже только следующее дает очень разные результаты:
$ cat * | sort
$ sort < *
Если существует более одного соответствующего файла, последний произведет
-bash: *: ambiguous redirect
поскольку он не так гибок, как предыдущий, который отслеживает все соответствующие файлы и направляет их в качестве входных данных sort
.
sort < txtfile
гораздо эффективнее, чем cat txtfile | sort
?
sort *
? Никакого бесполезного использования cat, никакого бесполезного использования косвенного обращения, кратчайшего типа, самого