在我的剧本中,我使用以下内容......
edi824Files=`find $EDI_824_FILE_DIR -name "*$ediFileDate*.edi" -a "(" -mtime -1 ")"`
这里$ ediFileDate应该是当前日期,而$ EDI_824_FILE_DIR的值应该是DIR /。例如:DIR / 2014-01-24
上面的一个工作正常,但它只是拉出所有带有.edi扩展名的文件。但我想只获得具有特定条目的文件。例如:包含值" 824 "的文件。我怎么能做到这一点?
答案 0 :(得分:2)
试试这个:
find $EDI_824_FILE_DIR -name "*$ediFileDate*.edi" -a "(" -mtime -1 ")" -exec grep -l "824" {} \;
答案 1 :(得分:1)
通过 xargs 和 grep 管道查找:
find ... | xargs grep '824'
这将列出包含“824”的所有行,以及文件名和行号。如果您只想要文件名,那么:
find ... | xargs grep -l '824'
xargs 从 stdin 读取。对于读取的每一行,它执行命令,将该行作为命令的最后一个参数传递。