胖鸭子的Linux笔记
一个自由软件爱好者的经验记录
2011年3月30日星期三
find的正则表达式
水木上有人问:SHELL如何只list名称是8个数字的文件夹?用
ls [0-9]
(重复9次),或者结合
grep
可以做到。但是用
find
怎么做呢?研究了一会儿才给出答案:
find . -type d -regextype posix-egrep -regex '.*/[0-9]{8}'
find
的
-regex
不是搜索,而是要匹配整个的路径,所以正则表达式前面要加
.*/
。默认的正则表达式类型是Emacs类型的。虽然Emacs的正则表达式支持
\{\}
的重复,但是在
find
的info里面写到是不支持的,要改成
posix-egrep
类型的正则表达式就可以用
{}
了。
没有评论:
发表评论
较新的博文
较早的博文
主页
订阅:
博文评论 (Atom)
没有评论:
发表评论