Измените вашу команду на эту:
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}'