花了几个小时尝试自己回答这个问题,使用这个问题的部分答案;所以如果已经回答过了,我很抱歉,但是将我能找到的部分解决方案组合起来以正确执行此搜索似乎超出了我的能力范围。
我要做的事情:在目录中搜索包含多个唯一字符串(任意顺序,任何位置)的文件,但不包含文件中的另一个特定字符串。
以下是我迄今为止的搜索:
我意识到这是非常、非常错误的,因为我似乎甚至不能让多行搜索在忽略字符串出现顺序时正常工作。
非常感谢任何帮助。
我要做的事情:在目录中搜索包含多个唯一字符串(任意顺序,任何位置)的文件,但不包含文件中的另一个特定字符串。
以下是我迄今为止的搜索:
pcregrep -riM '^(?=.*uniquestringA)(?=.*uniquestringB)(?=.*uniquestringC)(?=.*uniquestringD)(?=.*uniquestringE).*$' .
| xargs grep -Li 'uniquestringZ'
我意识到这是非常、非常错误的,因为我似乎甚至不能让多行搜索在忽略字符串出现顺序时正常工作。
非常感谢任何帮助。
xargs
来调用Perl。您可以使用Perl和一个非常强大的grep。试试看吧。 - dawg