在与另一个模式匹配的目录中查找与模式匹配的文件

在与另一个模式匹配的目录中查找与模式匹配的文件

在我求助于编写 Python 来执行此操作之前,bash 中必须有一种使用 find 或类似工具的方法。我想搜索一棵树,并找到名称与某个模式匹配的所有文件,这些文件位于与另一个模式匹配的目录中。例如:foo_[0-9][0-9]在名为 的目录中命名的所有文件bar_[0-9]。所以,我希望找到所有这些文件(从当前目录):

a/b/bar_4/foo_02
b/bar_0/foo_03
a/b/c/d/bar_8/foo_88

谢谢。

答案1

对于这种情况,您可以使用该-path <pattern>选项,类似于-name以下选项find

find . -path "*bar_[0-9]/foo_[0-9][0-9]"

答案2

在 bash (和其他具有类似功能的 shell)中,您可以使用环球星

shopt -s globstar nullglob

printf '%s\n' **/bar_[0-9]/foo_[0-9][0-9]

相关内容