我一直在四处搜寻,但找不到所需的答案。
假设我在目录text1.txt
中有一个文件mydir
,其内容是:
one
two
另一个也称为
text2.txt
(也在mydir
中),其内容是:two
three
four
我正在尝试获取文件列表(针对给定目录),其中包含我搜索的所有(并非任何)模式。在我提供的示例中,我正在寻找类似于以下内容的输出:
./text1.txt
或者
./text1.txt:one
./text1.txt:two
我唯一能找到的是关于匹配文件中的任何模式,或匹配单个文件中的多个模式(我尝试将其扩展到整个目录,但收到grep使用错误)。
任何帮助深表感谢。
我尝试过的编辑
grep "pattern1" < ./* | grep "pattern2" ./*
“歧义重定向”
grep 'pattern1'|'pattern2' ./*
返回与任一模式匹配的文件
最佳答案
一种方法可能是这样的:
find . | xargs grep 'pattern1' -sl | xargs grep 'pattern2' -sl
关于Grep用于多个文件的多种模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7422743/