Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Unix发送邮件,附带错误文件_Unix_Grep_Xargs_Mailx - Fatal编程技术网

使用Unix发送邮件,附带错误文件

使用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

我有两个文件(.csv),比如
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”,我认为它将通过电子邮件向您发送您需要的文件内容,因此命令如下: