作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试查找包含以下两种模式之一的文件:
select AND into
SELECT AND INTO
select AND INTO
SELECT AND into
AND,我的意思是逻辑and。我正在使用以下命令:
grep -r 'INTO\|SELECT' .
检查文件是否有 INTO 和 SELECT,但如果其中一个存在,这将返回字符串,但我需要两者。
最佳答案
如果模式必须出现在同一行,你可以使用
grep -r '\(INTO.*SELECT\)\|\(SELECT.*INTO\)' .
这两个备选方案将涵盖任一顺序。如果这两种模式可以出现在不同的行上,请尝试以下操作:
grep -r -Z -l 'INTO' . | xargs -0 grep 'SELECT'
第一个 grep 将打印具有 INTO
的文件的名称 (-l
)。 -Z
和 xargs -0
共同将这些名称传递给第二个 grep,它会查找 SELECT
。
注意 感谢@ghoti:对于 GNU 以外的 grep 版本,请尝试 --null
而不是 -Z
。
关于linux - 我如何在 linux 上递归搜索多个模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38085672/
我是一名优秀的程序员,十分优秀!