我正在执行此命令来查找特定目录中的某些文件:
find ./rgs/test/maesXX/master/stdlist -name \*.extract \
-mtime +30 \! -size 0 -exec ls -lrt {} \;
其中 XX 可以是 1-100 之间的任意数字。
我可以使用正则表达式来实现此目的吗?我该怎么做呢?还有其他方法吗?
答案1
您可以将多个路径传递给find
,因此最好的方法(恕我直言)是让 shell 进行扩展。
如果您没有从maes
那里开始的其他目录,那么这应该足够了,而且更简单:
find ./rgs/test/maes*/master/stdlist ...
但如果你确实需要完全匹配该模式,你可以这样做
find ./rgs/test/maes[0-9][0-9]/master/stdlist ...
对于maes00
-- maes99
,或
find ./rgs/test/maes{[1-9],[1-9][0-9],100}/master/stdlist ...
对于maes1
—— maes100
(我不知道你的情况是哪一种)。