20080222

Как добавить дату и время к каждой строчке стандартного вывода

Если же нужно именно добавить timestamp (дату и время) к каждой строке стандартного вывода некой программы, то это можно сделать, например, пропустив стандартный вывод через следущий пайп:
… | while read ; do echo `date` ${REPLY} ; done

Например,
~$ (echo раз\! ; sleep 1 ; echo два\! ; sleep 2 ; echo три\! ; sleep 3 ; echo четыре\!) | while read ; do echo `date +%H:%M:%S` ${REPLY} ; done
13:08:22 раз!
13:08:23 два!
13:08:25 три!
13:08:28 четыре!


Дополнение: Как заметил Алексей Свешников, проставление дат и времени с помощью перла должно работать быстрее:
… | perl -pe 'print "[", scalar(gmtime), "] ";'


P.S. magik, пишущий в блог «Записки океанолога», начал сегодня вести подкаст с обзорами русских блогов о Linux и *NIX (по материалам планеты русских блогов о *NIX — runix.org)