我有两个文件(.csv)说File1.csv
和File2.csv
带有'INVALID'
记录,这些记录是在Informatica作业结束时生成的。
我使用下面的命令搜索文件名'INVALID'
,然后如果其中一个文件有'INVALID'
个记录,我必须邮寄该特定文件,如果两个文件都有无效记录,那么文件必须邮寄给用户。
$ 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
答案 0 :(得分:0)
我认为 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”,我认为它会通过电子邮件向您发送您需要的文件内容,因此命令如下:
$ grep -il "invalid" File1.csv File2.csv | xargs -I'{}' uuencode {} | mailx -s"files" mymail@gmail.com