仅当文件中存在多个string时才返回结果

是否有一个Linux实用程序只会返回包含多个指定string的文件的名称? 不一定在同一条线上。 显然grep可以“或”,但我在找“AND”。

对于简单的事情,您可以使用grepawk ,对于更复杂的事情,您将需要一种编程语言。 可能最好的是从像脚本语言开始:python,perl,php,javascript。

grep命令可以用于OR:

 ls|egrep 'first_pattern|second_pattern" 

或者匹配两种模式:

 ls|egrep "first_pattern.*second_pattern|second_pattern.*first_pattern" 

要更好地了解如何编写RegEx模式,请参阅: https : //en.wikipedia.org/wiki/Regular_expression

真正复杂的parsing器可以用像ANTLR这样的parsing器生成器来编写