Как передать заголовки mailx во внешний файл. Всегда становится усеченным - PullRequest
1 голос
/ 31 мая 2011

если тема письма немного длиннее, тогда невозможно передать его по каналу какой-либо команде или внешнему файлу без усечения. Зачем? И как ты это правильно делаешь?

Пример:

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-терминале и т. Д. Неважно, если я установлю COLUMNS или TERMWIDTH (вне mailx или с опцией -S ...)

Почему это?

1 Ответ

1 голос
/ 18 июня 2012

Из того, что я вижу, mailx ведет себя по-разному при выдаче вывода по сравнению с перенаправлением.

Чтение руководства показывает, что стандартный вывод заголовков сообщений возможен при

$ mail -H

Thisявляется эквивалентом выдачи вывода в определенном формате (например, printf в C)

$ mail -H -S headline="%>%a%m %20f  %16d %3l/%-5o %i%S"

Похоже, что это усекается для поля% S при передаче по выводу.Чтобы сохранить заголовок темы, измените% S на что-то вроде% 150S (ширина поля 150).

$ mail -H -S headline="%>%a%m %20f  %16d %3l/%-5o %i%150S"
...