【问题标题】:Character Classes for find command using emacs regex style使用 emacs 正则表达式样式的查找命令的字符类
【发布时间】:2012-10-22 01:56:16
【问题描述】:

比如我想找一个以numbers+.bed结尾的文件,这样用就行了:

find . -regex ".*/[0-9]+\.bed"

据我所知,find默认使用emacs regex style,所以我找到了这个页面:http://www.gnu.org/software/emacs/manual/html_node/elisp/Char-Classes.html#Char-Classes然后尝试使用[[:digit:]]替换[0-9],但是这些命令都没有对我有用。

find . -regex ".*/[:digit:]\.bed"

或者

find . -regex ".*/[[:digit:]]\.bed"

有人对我在命令中的错误位置有任何想法吗? 谢谢!

【问题讨论】:

    标签: regex shell emacs find


    【解决方案1】:

    您需要使用不同的正则表达式类型。例如,尝试:

    find . -regextype posix-extended -regex ".*/[[:digit:]]+\.bed"
    

    【讨论】:

      【解决方案2】:

      我怀疑find 文档已经过时:Emacs 接受的正则表达式语法多年来发生了变化,但find 显然没有相应变化。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-16
        • 2011-01-18
        • 2012-05-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多