请教一个find命令正则匹配问题
./20130901012538_00001_001.mon
./20130901012815_00001_001.mon
./20130901013043_00001_001.mon
./20130901013306_00001_001.mon
./20130901013527_00001_001.mon
./20130901013742_00001_001.mon
./20130901013951_00001_001.mon
./20130901014218_00001_001.mon
./20130901014439_00001_001.mon
./20130901014750_00001_001.mon
./20130901015007_00001_001.mon
./20130901015229_00001_001.mon
我有像这样的文件,从命令规则是时间戳_00001_001.mon 现在有1号到16号的文件,我用find命令找出1号到10号,我用的命令是find . -name '201309((0([0-9]{1}))|([10]))*_001.mon' | more 但是没有输出,不知道错在哪里,麻烦高手指点一下! shell 正则
[解决办法]
((0([0-9]{1}))
[解决办法]
([10]))*
中间根本就没包含你:
01015007_00001
中的下划线。
所以必然找不到啊。
[解决办法]
蛋疼的shell,貌似连+, {m,n}这样的表示数量的都不支持
写了个蛋疼的
find . -name "201309[0-1][0-1][0-9][0-9][0-9][0-9][0-9][0-9]_[0-9][0-9][0-9][0-9][0-9]_[0-9][0-9][0-9].mon" -print
find . -regextype sed -regex ".*/201309\(0[0-9]\{1\}\
[解决办法]
10\)[0-9]\{6\}_00001_001\.mon"