Bash 如何在只知道顶层和中层目录的子目录中查找文件

Bash 如何在只知道顶层和中层目录的子目录中查找文件,bash,find,subdirectory,Bash,Find,Subdirectory,我尝试使用bash在深层目录层次结构中查找目标文件,该文件的顶级目录和中级目录已知,但其剩余目录可能是任意结构: /A/B/[unknown]/[unknown]/.../C1/[unknown]/[unknown]/.../TargetFile /A/B/[unknown]/[unknown]/.../C2/[unknown]/[unknown]/.../TargetFile /A/B/[unknown]/[unknown]/.../C3/[unknown]/[unknown]/.../Tar

我尝试使用bash在深层目录层次结构中查找目标文件,该文件的顶级目录和中级目录已知,但其剩余目录可能是任意结构:

/A/B/[unknown]/[unknown]/.../C1/[unknown]/[unknown]/.../TargetFile
/A/B/[unknown]/[unknown]/.../C2/[unknown]/[unknown]/.../TargetFile
/A/B/[unknown]/[unknown]/.../C3/[unknown]/[unknown]/.../TargetFile
假设我想要目录树中包含目录C2的TargetFile的路径。我使用find命令进行了一些粗糙但明显有缺陷的尝试,例如:

find '/A/B' -path '/C2/*' -name 'TargetFile'

有没有办法通过查找或其他方法来实现这一点?(我使用的是Mac OS版本的find命令。)

使用此示例命令,您可以从/home开始搜索,并查找任何名为C2的目录中包含的TargetFile:


find/home-path'*/C2/*'-name'TargetFile'

非常感谢。现在我意识到我的错误是在中级目录之前省略了*通配符。它应该是*/C2/*而不是/C2/*。