gpt4 book ai didi

linux - 我如何在 linux 上递归搜索多个模式?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:10:19 26 4
gpt4 key购买 nike

我正在尝试查找包含以下两种模式之一的文件:

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)。 -Zxargs -0 共同将这些名称传递给第二个 grep,它会查找 SELECT

注意 感谢@ghoti:对于 GNU 以外的 grep 版本,请尝试 --null 而不是 -Z

关于linux - 我如何在 linux 上递归搜索多个模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38085672/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com