如何使用两个grep语句并仅打印满足grep搜索的文件.... 要么 如何在文件中查找两个不同的String,如果包含两个字符串,则打印文件的内容?
答案 0 :(得分:1)
这样的事情应该让你开始:
pattern1=your-pattern
pattern2=your-pattern
basedir=/path/to/dir
grep -Zlr "$pattern1" "$basedir" | xargs -0 grep -l "$pattern2"
关键要素:
-l
标志用于打印匹配的文件名称。-Z
标志用于在匹配的文件名xargs -0
将在其输入中预期空终止的项目grep
会找到与pattern1
匹配的文件,第二个grep会找到与pattern2
匹配的文件 - >最终结果是匹配两种模式的文件列表。