Вы должны получать сообщения от crond
, когда задание либо не выполняется, либо когда задание возвращает ненулевой код завершения. Попробуйте набрать:
$ mailx
в командной строке.
mailx(1)
- это базовая программа чтения почты в большинстве Unix-подобных систем. Она очень примитивна по современным стандартам, но вы можете рассчитывать на то, что она всегда будет доступна. Могут быть доступны и другие, более совершенные почтовые агенты, но их достаточно много, и вы никогда не узнаете, какой из них установлен на случайной машине, которую вы случайно используете.
Обратите внимание, что если вы не настроили свою систему как почтовый сервер Интернета, эта почтовая подсистема используется только внутри машины. Вы можете отправлять электронную почту другим пользователям на машине и получать ее от них, но вы не сможете отправлять электронную почту во внешний мир, а электронная почта из внешнего мира, конечно, не сможет прийти на вашу машину.
Другой awk
подход:
... |awk 'NR==FNR{one=$1;$1="";seen[one]=$0; next}
{FS="[|\"]"} seen[$2]{printf ("%s (%s) %s\n", $5, $(NF-1), seen[$2])}' - static
Выдаст результат:
John Holmes (60036) 4533 cklsls 55885
Steven Parn (60004) 7373 ksshhs 77321
David Pim (89488) 8722 kiwjkk 72661
В выше в - static
; тире -
означает awk для чтения со стандартного ввода, а static
— ваш статический файл .
Я сделал это за 4 шага
sed "s/|/ /g" staticfile_lookup | sed 's/"//g' >> static_file_lookup_final.txt
awk 'NR==FNR{a[$1];next}($1 in a){print $2,$3,$NF}' stdout static_file_lookup_final.txt >>static_file_lookup_fina1_1.txt
awk '{$1="";print $0}' stdout >>stdout_final.txt
==========
cat static_file_lookup_fina1_1.txt
John Holmes 60036
Steven Parn 60004
David Pim 89488
============
cat stdout_final.txt
4533 cklsls 55885
7373 ksshhs 77321
8722 kiwjkk 72661
=================
paste static_file_lookup_fina1_1.txt stdout_final.txt
Выход
John Holmes 60036 4533 cklsls 55885
Steven Parn 60004 7373 ksshhs 77321
David Pim 89488 8722 kiwjkk 72661