在名为 .../dirnameXX/... 的目录中“查找”,带有 XX 变量

mun*_*ish 3 find shell-script

我正在执行此命令以在特定目录中查找某些文件:

find ./rgs/test/maesXX/master/stdlist -name \*.extract \
     -mtime +30 \! -size 0 -exec ls -lrt {} \;
Run Code Online (Sandbox Code Playgroud)

其中 XX 可以是 1-100 之间的任何数字。

我可以为此目的使用正则表达式吗?我该怎么做?还有其他方法吗?

ang*_*gus 8

您可以将多个路径传递给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(我没弄明白你的情况是哪一个)。