Есть ли способ перенаправить вывод программы и по-прежнему идти в stdout?

Хорошо. Если бы я хотел перенаправить вывод программы в файл, я бы сделал что-то вроде этого

prog > file 

Если бы я хотел перенаправить оба stdout и stderr на этот файл, тогда я бы сделал

 prog > file 2>&1 

Это все хорошо и хорошо, если вы хотите, чтобы выходные файлы поступали в файл. Но что делать, если вы хотите, чтобы выходные файлы поступали в файл и все же продолжали идти в stdout / stderr? Таким образом, вывод сохраняется в файле, но вы все еще можете видеть его на консоли по мере запуска программы. Есть ли способ сделать это? И если да, то как?

One Solution collect form web for “Есть ли способ перенаправить вывод программы и по-прежнему идти в stdout?”

tee существует для этой цели; он принимает аргумент имени файла и записывает данные, которые он читает из stdin, в stdout и файл:

 $ prog 2>&1 | tee file 
  • Игнорируйте эту переменную строку так, чтобы она не выводила
  • исключить файл перенаправления целевых объектов из цикла for for
  • Кошка никогда не читает с терминала?
  • Чтение дескрипторов файлов
  • выход хвостовой программы в файл в Linux
  • Как перенаправить вывод команды в уже существующий файл без удаления его содержимого?
  • Запись в поток ошибок во время цикла
  • Почему этот сценарий не работает?
  • Многократное перенаправление файлов с помощью awk и поиск
  • Не удалось захватить выход программы
  • CSH и весь вывод (с ошибками) в файл
  • Как организовать и отрезать эту часть каталога в файл?
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.