Кратки съвети за unix

Тук може да намерите полезни съвети и примери за много ситуации.

 

Добавяне на дата към всеки изведен ред

Представете си следната ситуация: пишете програма или скрипт, която извежда нещо на конзолата. Точно когато всичко е почти готово, осъзнавате че се нуждаете от точното време, в което всяко съобщение е изведено. Например искате да знаете по колко време отнема архивирането на домашната директория на всеки потребител. Едно решение е да заместите навсякъде в кода всяка команда за изход с подобрен еквивалент, който извежда и времето. Ето един много по-мързелив начин да се направи това само с един ред на bash:
 
> ./your_program | while read line; do stamp=`date`; echo "$stamp $line"; done
 
Пробвайте това:
 
> du -sc /home | while read line; do stamp=`date`; echo "$stamp $line"; done