В Linux (Debian), как я могу префикс стандартного вывода команды с помощью одной или нескольких строк, прежде чем передать его второй команде?
Это для отправки вывода команды с помощью sendmail следующим образом:
pflogsumm <args> | sendmail <address>
Я не могу указать таким образом строку темы, поскольку sendmail извлекает поля заголовка из вводимых данных. Таким образом, я хочу добавить префикс к выводу pflogsumm с помощью sed.
Спасибо.
/ Дэвид
Вы можете использовать подоболочку. Вы можете отправить вывод из чего угодно, и все это будет проходить через конвейер.
(cat /foo ; echo bar ; pflogsumm <args> ) | sendmail <address>
awk буду делать то, что ты хочешь.
Например
# ps | awk ' { if (NR == 1) printf("Line 1\nLine 2\n"); print; }'
Line 1
Line 2
PID TTY TIME CMD
23071 pts/0 00:00:00 bash
25655 pts/0 00:00:00 ps
25656 pts/0 00:00:00 awk
Приведенный выше префикс строки printf перед вашим выводом.
Ваш пример был бы
pflogsumm <args> | awk ' { if (NR == 1) printf("Line 1\nLine 2\n"); print; }' | sendmail <address>