Altere seu comando para isto:
ping address 2>&1 | awk '{ print strftime("[%d.%m.%Y %H:%M:%S]"), $0}' | tee textfile
2>&1
redireciona stderr para stdout que vai para awk
. tee
permite que você tenha a saída na sua tela e no arquivo que você especificou.
Você pode ficar incomodado com awk
armazenando em buffer sua saída, que será exibida por blocos. Então use:
awk '{ print strftime("[%d.%m.%Y %H:%M:%S]"), $0; fflush()}'
ou:
stdbuf -oL awk '{ print strftime("[%d.%m.%Y %H:%M:%S]"), $0}'