0

我有两个文件 (.csv)和File1.csv记录,在 Informatica 作业结束时生成。File2.csv'INVALID'

我正在使用以下命令搜索文件名'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
4

1 回答 1

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
于 2012-09-26T21:04:04.693 回答