Описание тега scarborough-fair
У меня есть приложение, которое принимает несколько параметров командной строки, а затем выводит текст в терминал, а затем начинает писать данные в файл. Он имеет параметр можно использовать для определения имени файла для записи (например, -о каких-файл-имя.бин
).
Я бы хотел, чтобы обрабатывать эти данные (видео) с помощью другого приложения, поэтому я попытался сделать программу вывода данных на стандартный вывод с помощью указания -о -
и конвейерной передачи выходных данных на другой инструмент. Однако, к сожалению, эта программа не достаточно умны, чтобы заметить, что он пишет в stdout и что он должен перестать писать удобочитаемый текст в stdout (как это портит двоичные данные).
Поэтому, как правило, этот инструмент будет написать текст в stdout (который меня не волнует) и данные в файл. Я хотел бы, чтобы игнорировать весь текст пишется в stdout и вместо того, чтобы его записать данные в stdout, так что я могу передать ее в другую инструмент. Однако, когда я запускаю его с -О -
, он пишет как (двоичных) данных и бесполезный текст в stdout, разрушая данные.
Я попробовал -о >( my_other_tool )
вместо трубы, но в результате не смог открыть выход в /dev/ФД/63 в /dev/ФД/63: нет такого файла или каталога
.
Есть другой способ - кроме перекомпиляции инструмент и удалив все бесполезные функции printf звонки - в игнор оригинальный stdout и отправить данные, которые он будет писать в файл вместо стандартного вывода?
Редактировать: в случае, если это полезно, я говорю о nsntrace.