#email #redirect #pipe #truncated #mailx
#Адрес электронной почты #перенаправление #труба #усеченный #mailx #передача
Вопрос:
если тема письма немного длиннее, то невозможно передать его в какую-либо команду или внешний файл без усечения. Почему? И как вы это делаете правильно?
Пример:
mail -H -f mbox
показывает несколько писем. Все выглядит нормально.
O 3 user@linux.sit Вт 31 мая 13:39 22/596 Это очень длинная, очень длинная тема
Но как только кто-то попытается ЧТО-то сделать с трубой, она сломается
mail -H -f mbox | tee
O 3 user@linux.sit Tue May 31 13:39 22/596 This is a ver
Он будет отображать только 78 символов подряд и ничего больше.
То же самое, если я сделаю
mail -H -f mbox >> into_a_file
mail -H -f mbox | grep -----
mail -f mbox | less
И это не работает в xterm, в gnome-terminal и т.д…
Независимо от того, задаю ли я СТОЛБЦЫ или TERMWIDTH (вне mailx или с параметром -S …)
Почему это?
Ответ №1:
Из того, что я вижу, mailx ведет себя по-разному при выдаче выходных данных по сравнению с их перенаправлением.
Чтение руководства показывает, что стандартный вывод заголовков сообщений возможен с
$ mail -H
Это эквивалентно предоставлению выходных данных в определенном формате (например, printf в C)
$ mail -H -S headline="%>%a%m f d %3l/%-5o %i%S"
Похоже, что это усекается для поля %S при передаче выходных данных. Чтобы сохранить заголовок темы, измените %S на что-то вроде 0S (ширина поля 150).
$ mail -H -S headline="%>%a%m f d %3l/%-5o %i0S"