问题描述
|
如果邮件的主题更长,则无法将其通过管道传递到任何命令或外部文件而不会被截断。为什么?以及您如何正确执行呢?
例:
mail -H -f mBox
显示几封邮件。一切看起来都很好。
O 3 user@linux.sit 5月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等中工作...
无论我设置COLUMNS还是TERMWIDTH(在mailx之外或使用-S选项...)
这是为什么?
解决方法
据我所知,mailx在提供输出和重定向输出方面表现不同。
阅读手册表明,使用以下命令可以标准输出邮件标题
$ mail -H
这等效于提供具有特定格式的输出(例如C中的printf)
$ 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\"