我想找到所有包含两行的文件:abc
和def
. 例如,
xxx
111abc
yyy
222def333
该文件应该被捕获,grep
因为它包含abc
和def
.
我应该怎么办?我试过grep -rE 'abc.*def' /dir/
了,但它不起作用。
我想找到所有包含两行的文件:abc
和def
. 例如,
xxx
111abc
yyy
222def333
该文件应该被捕获,grep
因为它包含abc
和def
.
我应该怎么办?我试过grep -rE 'abc.*def' /dir/
了,但它不起作用。
grep
在--null-data
模式 ( ) 中更简化的版本-z
是使用贪婪量词来匹配任意数量的新行或者使用默认使用 PCRE 正则表达式功能的pcregrep(由PCRE 项目提供)。启用多
-M
行匹配模式。在 GNU 系统上,如果匹配的相对顺序无关紧要,这将对两种模式起作用:
如果您的模式多于两个,则可以将其链接起来:
或使用
find
:这不是很有效,而且另一个工具
grep
可能比该任务更好。只是为了你可能有更复杂的情况,我们可以使用 awk
在哪里:
RS="\0"
定义文件中不存在的寄存器分隔符(=slurp 文件)和condition {print FILENAME}
输出符合条件的文件