我的脚本完全正常并生成一个文件。该文件是纯文本格式,格式如何(我希望结果看起来像这样。)格式化。但是,当我尝试将文件发送到我的电子邮件时,格式化完全错误。
我用来发送电子邮件的代码行。
cat ReportEmail | mail -s 'Report' bob@aol.com
我收到的电子邮件的结果。
30129 22.65 253
96187 72.32 294
109525 82.35 295
10235 7.7 105
5906 4.44 106
76096 57.22 251
我希望结果看起来像这样。
30129 22.65 253
96187 72.32 294
109525 82.35 295
10235 7.7 105
5906 4.44 106
76096 57.22 251
答案 0 :(得分:1)
您的源文件通过使用制表符和空格的组合来实现列对齐。但是,分配给选项卡的宽度可能因程序而异。例如,宽度为4,5或8个空格是常见的。如果您希望从一个查看器到下一个查看器的纯文本格式一致,请仅使用空格。
作为一种变通方法,您可以在使用mail
实用程序将文件传递到expand
之前将标签扩展为空格:
expand -t 8 ReportEmail.txt | mail -s 'Report' bob@aol.com
选项-t 8
告诉expand将标签视为8个宽的空格。将8
更改为始终使ReportEmail.txt
中的格式正常工作的任何数字。