Перенаправление вывода программы, читающей из stdin

sed может сделать это:

sed -i.bak '/STRING/d' web/*
0
27.05.2012, 14:10
2 ответа

Одна опция состояла бы в том, чтобы записать Ваши подсказки в stderr вместо stdout. Они будут видимы на терминале, но не в output.txt.

Другая опция не состоит в том, чтобы использовать перенаправление для Вашего вывода, но взять выходное имя файла в качестве параметра и открытый что файл самостоятельно. Можно затем использовать stdout для Ваших подсказок. (Это более гибко. Можно решить то, что переходит только к файлу, что переходит только к экрану, и потенциально что переходит к обоим.)

Если Вы не можете изменить код, единственная опция состоит в том, чтобы использовать tee или некоторая другая такая утилита. Буферизация может быть проблемой; stdbuf мог бы помочь с этим.

2
28.01.2020, 02:38
  • 1
    , который я хотел бы скорее не сделать, изменяет приложение. Предположите, что у меня есть только двоичный файл (если это даже возможно, возможно, это не возможно). –  xralf 27.05.2012, 15:40
  • 2
    Изменение кода лучше. Если у Вас только есть двоичный файл, почему Вы отмечали это c, и почему Ваш двоичный файл называют a.out? cjc уже дал Вам опцию, не изменяя код (вставленный выше также), это - в значительной степени все, что Вы имеете как опции. –  Mat 27.05.2012, 15:49

Одна опция состояла бы в том, чтобы записать Ваши подсказки в stderr вместо stdout. Они будут видимы на терминале, но не в output.txt.

Другая опция не состоит в том, чтобы использовать перенаправление для Вашего вывода, но взять выходное имя файла в качестве параметра и открытый что файл самостоятельно. Можно затем использовать stdout для Ваших подсказок. (Это более гибко. Можно решить то, что переходит только к файлу, что переходит только к экрану, и потенциально что переходит к обоим.)

Если Вы не можете изменить код, единственная опция состоит в том, чтобы использовать tee или некоторая другая такая утилита. Буферизация может быть проблемой; stdbuf мог бы помочь с этим.

2
28.01.2020, 02:38

Теги

Похожие вопросы