考虑一个包含 20 个文件的目录,编号如下:
ll *test*
> test.dat
> test.dat.1
> test.dat.2
...
> test.dat.20
可以通过
找到与给定日期匹配的文件子集ll *test* | grep "Sep 29"
> test.dat
> test.dat.1
> test.dat.2
如何仅在该文件子集中搜索线条图案?我想在上述三个文件的每一行中 grep
查找字符串 WARNING
。我如何告诉 grep
将其搜索限制为仅此子集?
最佳答案
-l
选项的用途是:列出匹配的文件
-L
选项的作用相反:列出不匹配的文件
grep WARNING $(grep -l "Sep 29" *test.dat*)
编辑
我误解了这个问题:你不想在已经包含“Sep 29”的文件上 grep“WARNING”,你想在最后一次修改于 Sep 29 的文件上 grep“WARNING”。
因此我建议:
grep WARNING $(ll *test.dat* | grep "Sep 29")
但我不会依赖ll
输出。
关于linux - 带有数字扩展名的 Grep 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46488128/