【问题标题】:find command regex with optional subexpression查找带有可选子表达式的命令正则表达式
【发布时间】:2019-04-16 11:10:27
【问题描述】:

我有以下文件列表

file                        <-
file.2019041543764832       <-
file.2019041643764832       <-
file.2019041243764832
file.2019041143764832

我想查找所有以file 为前缀并可选以日期为20190415xxxxx20190416xxxxx 后缀的标记文件

我尝试了以下方法,但没有产生任何输出。

find . -regex 'file(\.2019041(5|6)[0-9].*)?' -regextype egrep

我需要一些正确的正则表达式类型和正确的语法来实现这一点。

【问题讨论】:

    标签: linux shell find


    【解决方案1】:
    find . -regex './file\(.2019041\(5\|6\)[0-9]*\)?' -regextype egrep
    

    或者只是

    find . -regex './file\(.2019041[56][0-9]*\)?'
    

    (当使用find . 时,我的find 版本会在匹配项前加上./,因此我将其添加到正则表达式中。)

    【讨论】:

    • 我想我错过了 `` 来转义字符。谢谢!有没有办法在没有所有这些转义的情况下做到这一点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-21
    • 2012-05-13
    • 1970-01-01
    • 1970-01-01
    • 2015-12-13
    • 1970-01-01
    相关资源
    最近更新 更多