在我的脚本中,我正在使用以下...
edi824Files=`find $EDI_824_FILE_DIR -name "*$ediFileDate*.edi" -a "(" -mtime -1 ")"`
这里$ edifiledate应该是当前日期,$ edi_824_file_dir具有像dir/一样的值。例如:dir/2014-01-24
上面的工作正常,但它只是用.edi扩展名来拉动所有文件。但是我只想获得具有特定条目的文件。例如:包含值" 824 "的文件。我该如何实现?
尝试以下:
find $EDI_824_FILE_DIR -name "*$ediFileDate*.edi" -a "(" -mtime -1 ")" -exec grep -l "824" {} ;
pipe 通过 xargs 和 grep :::
find ... | xargs grep '824'
这将列出所有包含" 824"的行,以及文件名和行号。如果您只想要文件名,则:
find ... | xargs grep -l '824'
xargs 从 stdin 读取。对于每行读取,它执行命令,将行作为最后一个参数传递给命令。