Chr*_*isW 4 find regular-expression
我在一个目录中有一组文件,所有格式都是test[0-9][0-9].txt. 如果我跑
find . -regex ".*/(test)[0-9][0-9]\.txt"
Run Code Online (Sandbox Code Playgroud)
然后显示所有文件,但如果我运行
find . -regex ".*/(test)[0-9]{2}\.txt"
Run Code Online (Sandbox Code Playgroud)
然后没有显示。我究竟做错了什么?!
我已经搜索过以前与此类似的问题,但找不到特别相关的答案
如果您正在使用GNU查找,这应该适合您
find . -regextype sed -regex "./test[0-9]\{2\}.txt"
Run Code Online (Sandbox Code Playgroud)
-regextype sed - 使用基本的 posix 正则表达式(因为那是我熟悉的)./ - 必要,因为 find 认为相对搜索中的所有文件路径都以此模式开始[0-9]\{2\}-[0-9]数字字符类的2 个实例,带有\{...\}转义的量词括号 - 每个基本的 posix 正则表达式