Как я могу вывести stdout и stderr и записать их в файл?

Я в основном хочу написать свою статистику ping в файл. До сих пор я сделал это с помощью ping adress | awk '{ print strftime("[%d.%m.%Y %H:%M:%S]"), $0}' > textfile ping adress | awk '{ print strftime("[%d.%m.%Y %H:%M:%S]"), $0}' > textfile но было бы ping adress | awk '{ print strftime("[%d.%m.%Y %H:%M:%S]"), $0}' > textfile смотреть на результат без необходимости прервите процесс раньше. Я также знаю, что эта команда не записывает stderr в мой текстовый файл. Я придумал эту часть, когда писал этот вопрос.

Команда или сценарий должны в основном вести себя следующим образом:

$ command > textfile [15.08.2017 00:17:07] PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. [15.08.2017 00:17:07] 64 bytes from 8.8.8.8: icmp_seq=1 ttl=44 time=11.5 ms [15.08.2017 00:17:08] 64 bytes from 8.8.8.8: icmp_seq=2 ttl=44 time=11.5 ms ^C $ cat textfile [15.08.2017 00:17:07] PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. [15.08.2017 00:17:07] 64 bytes from 8.8.8.8: icmp_seq=1 ttl=44 time=11.5 ms [15.08.2017 00:17:08] 64 bytes from 8.8.8.8: icmp_seq=2 ttl=44 time=11.5 ms

One Solution collect form web for “Как я могу вывести stdout и stderr и записать их в файл?”

Измените команду:

 ping address 2>&1 | awk '{ print strftime("[%d.%m.%Y %H:%M:%S]"), $0}' | tee textfile 

2>&1 перенаправляет stderr на stdout, который переходит на awk . tee позволяет вам иметь как выход на экране, так и в указанном вами файле.

Вы можете быть раздражены awk буферизацией своего вывода, который будет отображаться блоками. Затем используйте либо:

 awk '{ print strftime("[%d.%m.%Y %H:%M:%S]"), $0; fflush()}' 

или:

 stdbuf -oL awk '{ print strftime("[%d.%m.%Y %H:%M:%S]"), $0}' 
  • Каково поведение отмененного процесса над SSH, записывающего stdout, когда сеанс SSH теряется?
  • в сценарии bash; процесс stdout как аргумент имени файла терпит неудачу, когда вы открываете его более одного раза
  • Как добавить новые строки при использовании эха
  • выборочный stdout, stderr и ведение журнала с помощью команды script
  • Может ли запущенный скрипт идентифицировать контекст ведения журнала?
  • Возможно ли «разблокировать» STDOUT в двух разных местах?
  • что подразумевается под подключением STDOUT и STDIN?
  • Как перенаправить вывод tarsnapper в / dev / null?
  • Почему опция -v с rm показывает записи с обратным отсчетом и обычной цитатой?
  • Использование трубы STDOUT в качестве переменной?
  • Только выходные результаты grep
  • Linux и Unix - лучшая ОС в мире.