Я не являюсь носителем английского языка, поэтому, пожалуйста, извините за неудобное название этого вопроса. Я просто не знал, как это лучше выразить.
Я нахожусь на коробке FreeBSD, и у меня есть небольшой инструмент фильтрации, написанный на C
, который читает список данных с помощью stdin
и выводит обработанный список с помощью stdout
. Я называю это примерно так: find . -type f | myfilter > /tmp/processed.txt
.
Теперь я хочу немного увеличить экспозицию своего фильтра и опубликовать его. Конвенция гласит, что инструменты должны позволять что-то вроде этого: find . -type f | myfilter -f - -o /tmp/processed.text
Это вынудит меня написать код, который просто не нужен, поскольку оболочка может выполнять эту работу, поэтому я склонен пропустить это.
Мой вопрос таков: пропускаю ли я какой-то аргумент (кроме соглашения), почему чтение и запись файлов должны выполняться в моем коде, а не делегироваться для перенаправления оболочки?