linux中括号的正则表达式如何匹配16到22

如果一个目录下有非常多的文件,以时间命名,我要列出当天16点到22点之间的文件,想用[ ]的正则表达式,可以实现么?
ls *[16-22 ]* 肯定是不行的,应该怎么实现呢?
最新回答
想你想的,我骨头痛。

2024-10-24 09:03:08

去计算时间,find . -mmin +分钟 -mmin -分钟
+是指多少分钟以前
-是指多少分钟之内
这样混合就出来了

如果不想去创建
那就find . -name "*-16-*"
find . -name "*-17-*"
find . -name "*-18-*"
....
这样去搞
追问
其实我要运行的指令是:
java -jar xxxxxxx.jar
中用通配符,这个怎么整?谢谢
追答
shell就好弄
for i in `find . -mmin +分钟 -mmin -分钟`
do
java -jar $i

done

如果就1个java命令后面接一堆jar,能执行成功吗?
ls *{16..22}*.jar
这样你试试