在我求助于编写 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]