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