我的文件格式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表示它确实知道固定量词,所以我迷失了。
我做错了什么?
答案 0 :(得分:0)
试试这个:
find . -maxdepth 1 -type f -regex '\.[0-9]\{3\}\.txt'
您还可以使用grep
:
find . * | grep -P "\.[0-9]{3}\.txt"