首页 > 解决方案 > 使用 find 和正则表达式查找以月份数字开头的文件名

问题描述

我正在尝试使用 find 和正则表达式来查找所有以数字开头的文件,该数字将在一个月中的一天( 01 .. 31 )范围内。

这不起作用

find . -type f -regex '[0-3][0-9]*'

将前两位数字限制在 1..31 范围内的正则表达式是什么,但如果日期小于十,则限制为两位数字( 01, 02.. )等等,并与 find 命令一起使用?

我尝试了很多东西,查看了其他 stackoverflow 文章,但其他文章中没有提到任何解决方案。

标签: regexlinuxfind

解决方案


正则表达式不适合表达这样的数字范围。您需要将其分解并分别匹配每个模式,即。以和开头0_123

例如:

^(0[1-9]|[12][0-9]|3[01])

推荐阅读