Mit Perl:
command 2>&1 | perl -pe 'print scalar(localtime()), " ";'
Mit gawk:
command 2>&1 | awk '{ print strftime(), $0; fflush() }'
Ersetzen Sie command
mit tail -f logfile
für dein konkretes Beispiel. Oder vielleicht könnten Sie einfach stdout/stderr des ursprünglichen Programms auf die obige Pipe umleiten.
Versuchen Sie es
tail -f logfile | while read line; do echo `date` "$line" ; done
Sie können dies versuchen
cat /etc/motd | xargs -d"\n" -I {} date +"%Y-%m-%d %H:%M:%S {}"
Beispielausgabe:
2013-02-26 15:13:57 2013-02-26 15:13:57 The programs included with the Debian GNU/Linux system are free software; 2013-02-26 15:13:57 the exact distribution terms for each program are described in the 2013-02-26 15:13:57 individual files in /usr/share/doc/*/copyright. 2013-02-26 15:13:57 2013-02-26 15:13:57 Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent 2013-02-26 15:13:57 permitted by applicable law.