1

如果邮件的主题稍长一些,则无法将其通过管道传送到任何命令或外部文件而不会被截断。为什么?你如何正确地做到这一点?

例子:

mail -H -f mbox

显示几封邮件。一切看起来都很好。

O 3 user@linux.sit Tue May 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 选项......)

这是为什么?

4

1 回答 1

2

据我所见,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"
于 2012-06-18T06:49:09.030 回答