Как передать заголовки 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-терминал и т. Д.... Независимо от того, установил ли я COLUMNS или TERMWIDTH (вне mailx или с опцией -S...)
Это почему?
1 ответ
Из того, что я вижу, mailx ведет себя по-разному в выдаче и перенаправлении.
Изучение руководства показывает, что стандартный вывод заголовков сообщений возможен при
$ mail -H
Это эквивалентно выдаче вывода в определенном формате (например, 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"