Когда я передаю по каналу несколько команд Unix, таких как grep, sed, TR и т.д. Я склонен указывать входной файл, который обрабатывается с помощью кошки. Так что-то как cat file | grep ... | awk ... | sed ...
.
Но недавно после нескольких комментариев, оставленных на моих ответах, указывающих, что это было бесполезным использованием кошки, я думал, что задам вопрос здесь.
Я искал проблему и столкнулся со статьей Википедии о UUOC и Бесполезном Использовании Премии CAT, и мне кажется, что приведенные аргументы с точки зрения эффективности.
Самый близкий вопрос, с которым я столкнулся здесь, был этим: действительно ли расточительно назвать кошку? – но это не совсем, что я спрашиваю.
Я предполагаю то, что лагерь UUOC предлагают, должен использовать cmd1 args < file | cmd2 args | cmd3 ..
или если команда имеет опцию читать из файла затем для передачи в файле как аргумент.
Но мне cat file | cmd1 ... | cmd2
кажется намного легче читать и понять. Я не должен помнить различные способы отправить входные файлы в различные команды и технологические маршруты логически слева направо. Сначала вход, затем первый процесс... и так далее.
Мне не удается понять, какие аргументы приводятся о бесполезном использовании кошки? Я понимаю, что, если я выполняю задание крона, которое работает каждые 2 секунды, который делает большую обработку, затем в этом случае, кошка могла бы быть расточительной. Но иначе каково общее согласие на использовании кошки?