【问题标题】:How to use UNIX find to find (file1 OR file2)?如何使用 UNIX find 来查找(file1 OR file2)?
【发布时间】:2009-04-28 16:32:23
【问题描述】:

bash 命令行中,我想查找所有名为foobar 的文件。我试过这个:

find . -name "foo\|bar"

但这不起作用。什么是正确的语法?

【问题讨论】:

    标签: regex unix find


    【解决方案1】:

    你想要:

    find . \( -name "foo" -o -name "bar" \)
    

    查看wikipedia 页面(所有地方)

    【讨论】:

      【解决方案2】:

      我很便宜,我会用这个:

      find ./ | grep -E 'foo|bar'
      

      这只是我个人的偏好,我更喜欢 grep 而不是 find,因为语法更容易“获取”,一旦你掌握了它,它的用途就不仅仅是遍历文件树。

      【讨论】:

      • 我喜欢这种语法。为什么他被否决了?效率低吗?点斜线有什么作用?
      • 它还会查找目录中包含 foo 或 bar 作为子字符串的所有文件。
      • find dot 应该足够了。如果您使用的是 GNU find,那么即使是点也可以省略。
      • 它会,但是使用方便的正则表达式很容易处理......
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-06
      相关资源
      最近更新 更多