如何解决bash脚本,将日志文件作为邮件内容发送,格式设置特定的颜色编码
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。