Linux/Unix查找命令

Linux/Unix查找命令,linux,unix,Linux,Unix,这很好:find-名称“skr[0-9][0-9][0-9][0-9][0-9].rtf” -f类 这不起作用:find-名称“skr[0-9]{5}.rtf”-类型f 任何人都可以解释一下,并给我一些类似于第二个版本的命令。这个{5}是来自扩展正则表达式的语法,而不是来自shell globbing。它对-name无效 对于某些查找版本(GNU),可以使用-regex而不是-name。在这种情况下,您的模式必须匹配整个路径,请小心使用*和?和,因为它们在正则表达式中具有不同的含义 重复计数语

这很好:
find-名称“skr[0-9][0-9][0-9][0-9][0-9].rtf”
-f类

  • 这不起作用:
    find-名称“skr[0-9]{5}.rtf”-类型f


  • 任何人都可以解释一下,并给我一些类似于第二个版本的命令。

    这个
    {5}
    是来自扩展正则表达式的语法,而不是来自shell globbing。它对
    -name
    无效

    对于某些查找版本(GNU),可以使用
    -regex
    而不是
    -name
    。在这种情况下,您的模式必须匹配整个路径,请小心使用
    *
    ,因为它们在正则表达式中具有不同的含义

    重复计数语法是“extended”RE的一部分,因此您需要使用-E(使用实际支持它的find变体):

    在Mac上,您需要安装GNU findtools,如果您想要这样的舒适:

    brew install findutils --default-names
    

    在一些系统上,你可以尝试
    gfind
    而不是
    find

    你能建议一些类似于第二版的命令吗?你能解释一下-regex的用法吗?在这个例子中,我是linux命令的新手,这就是为什么要问的原因。@user2132128好吧,作为一个新手,最好忘记REs:)我添加了一个有效的例子,正如你所看到的,它并不像你最初的正确版本那样短,所以不用麻烦了。。。(如果你很好奇,请查看正则表达式教程,记住,“+/”表示“一个或多个以斜杠结尾的字符”。@user213218我通常阅读man或。O'Reily有一本好书,上面没有一个
    find
    命令。你是特别指GNU
    find
    ?是的,对不起,我应该提到。。
    brew install findutils --default-names