找到正则表达式和固定量词

时间:2018-03-08 15:28:33

标签: regex

我的文件格式name with spaeces.xxx.txt,其中xxx是三位数。我希望将它们与find匹配。我试过了:

find . -maxdepth 1 -type f -regex '.*\.[0-9]{3}\.txt'

但这不起作用。 这也不起作用:

find . -maxdepth 1 -type f -regex '.*[0-9]{3}\.txt'

这一个:

find . -maxdepth 1 -type f -regex '.*[0-9]\.txt'

工作,似乎重复运算符存在问题。我在在线测试人员中测试了正则表达式,它确实与我的文件名匹配。我已经尝试过将-regextype更改为几个值而没有任何运气。该手册说,默认情况下,find使用emacs样式正则表达式,emacs的wiki表示它确实知道固定量词,所以我迷失了。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

试试这个:

find . -maxdepth 1 -type f -regex '\.[0-9]\{3\}\.txt'

您还可以使用grep

find . * | grep -P "\.[0-9]{3}\.txt"