使用Unix发送邮件,附带错误文件
我有两个文件(.csv),比如使用Unix发送邮件,附带错误文件,unix,grep,xargs,mailx,Unix,Grep,Xargs,Mailx,我有两个文件(.csv),比如File1.csv和File2.csv,其中包含“无效”记录,在Informatica作业结束时生成 我正在使用下面的命令搜索文件名'INVALID',然后如果其中一个文件有'INVALID'记录,我必须邮寄该特定文件,如果两个文件都有无效记录,则两个文件都必须邮寄给用户 $ grep -il "invalid" File1.csv File2.csv | xargs -I'{}' uuencode {} | mailx -s"files" mymail@gmail
File1.csv
和File2.csv
,其中包含“无效”
记录,在Informatica作业结束时生成
我正在使用下面的命令搜索文件名'INVALID'
,然后如果其中一个文件有'INVALID'
记录,我必须邮寄该特定文件,如果两个文件都有无效记录,则两个文件都必须邮寄给用户
$ grep -il "invalid" File1.csv File2.csv | xargs -I'{}' uuencode {} | mailx -s"files" mymail@gmail.com
$ grep -il "invalid" File1.csv File2.csv | xargs -I'{}' uuencode {} | mailx -s"files" mymail@gmail.com
我收到了两个文件附件,但没有记录的邮件
我还尝试使用-a附加文件:
$ grep -il "invalid" File1.csv File2.csv | xargs -I'{}' mailx -s"files" -a {} mymail@gmail.com
但上面的命令正在抛出错误:
mailx: illegal option -- a
Usage: mailx -eiIUdFntBNHvV~ -T FILE -u USER -h hops -r address
-s SUBJECT -f FILE users
我认为
grep
中的选项是您出错的地方。“l”(小l)选项用于打印文件名,而不是基于grep man的文件内容:
-l, --files-with-matches
Suppress normal output; instead print the name of each input
file from which output would normally have been printed. The
scanning will stop on the first match.
因此,如果您只是从第一个命令中删除“-l”,我认为它将通过电子邮件向您发送您需要的文件内容,因此命令如下: