我有一堆目录,其数字名称在 1 到 1,500 之间,我想使用命令find
来仅查找这些在 1,250 到 1,500 范围内的目录,这个正则表达式应该可以做到这一点:[1][2-5][0-9][0-9]
因此我尝试了这个命令:
find . -regextype sed -regex "[1][2-5][0-9][0-9]"
但却find
什么也没找到,我做错了什么吗?
答案1
从man 1 find
[强调我的]:
-regex pattern
文件名与正则表达式模式匹配。这是整个路径,而不是搜索。例如,要匹配名为 的文件./fubar3
,可以使用正则表达式.*bar.
或.*b.*3
,但不能使用f.*r3
。
因此这会发现一些东西:
find . -regextype sed -regex ".*/1[2-5][0-9][0-9]"
请注意,[1][2-5][0-9][0-9]
您使用的范围涵盖 1200-1599。[1]
可以像1
我的例子一样。