问题描述
cat run_summary.txt | unix2dos | mail -s "summary log" email_id@gmail.com
此命令将邮件作为邮件正文发送。但是,它没有格式化。 run_summary.txt的行带有列,但在电子邮件中与日志文件中的不同。日志文件的格式如下。
below is the summary of log files:
#empty line
date time mon
12 09 jan
07 22 apr
解决方法
不需要cat
命令。您应将文件重定向到mail
命令。
此外,unix2dos
命令可以处理文件,而不是字符串。在您的情况下,unix2dos
命令由于cat
命令而得到一个字符串。请阅读unix2dos
命令的手册页:https://linux.die.net/man/1/unix2dos
示例:
mail -s "summary log" my_mail@gmail.com < run_summary.txt
如果您确实需要unix2dos
命令,则可以执行以下操作:
unix2dos run_summary.txt && mail -s "summary log" my_mail@gmail.com < run_summary.txt
仅供参考:
在上面的示例中,run_summary.txt
文件中的原始内容将被覆盖。如果要创建一个新文件,则应使用-n
标志。
例如:
Convert a.txt and write to e.txt.
unix2dos -n a.txt e.txt
我使用了与您相同的txt文件,邮件中包含以下内容:
date time mon
12 09 jan
07 22 apr