Bash在当前文件夹和#name#子文件夹中递归查找

Bash在当前文件夹和#name#子文件夹中递归查找,bash,shell,find,command-line-interface,Bash,Shell,Find,Command Line Interface,对于像我这样的巴什努伯来说,这是个棘手的问题,但我相信这对我来说似乎更容易。 我目前正在使用find命令,如下所示: run "find #{current_release}/migration/ -name '*.sql'| sort -n | xargs cat >#{current_release}/#{stamp}.sql" 在我的卡皮斯特拉诺食谱里 问题是#{current_release}/migration/contains子文件夹,我希望find命令只包含其中一个子文件

对于像我这样的巴什努伯来说,这是个棘手的问题,但我相信这对我来说似乎更容易。 我目前正在使用find命令,如下所示:

run "find #{current_release}/migration/ -name '*.sql'| sort -n | xargs  cat >#{current_release}/#{stamp}.sql"
在我的卡皮斯特拉诺食谱里

问题是#{current_release}/migration/contains子文件夹,我希望find命令只包含其中一个子文件夹,具体取决于它的名称(我知道,它基于目标环境)

总而言之,文件夹结构是

Folder
|- sub1
|- sub2
例如,我正在尝试做一个指定只在sub1上递归的查找。我确信这是可能的,只是找不到如何进行。
谢谢。

您只需将其附加到您的
find
调用中:

 find #{current_release}/migration/sub_you_want -name ...

根据您确定所需子目录的方式,您也应该能够编写脚本。

只需指定要查找的目录作为参数,例如
find{current\u release}/migration/sub1…


编辑:根据您的说明,您应该使用
查找
-maxdepth
参数来限制递归深度。因此,例如,您可以使用
find firstdir firstdir/sub1-maxdepth 1

Is
查找#{current_release}/migration/sub1
不是你想要的吗?不,我可能没有解释清楚。目标是立即列出当前文件夹和指定子文件夹中的所有文件,但不列出任何其他子文件夹。我更新了我的答案,希望这是你的意思。目标是立即找到当前文件夹和指定子文件夹中的所有文件,但不包括任何其他文件er子文件夹。抱歉-我错过了您问题中的“和当前目录”部分。@斯帕茨有它,假设您不需要在sub1中递归。很好,非常感谢,我不知道maxdepth选项!!@pixelboy您也可以使用
-和-not-path
并指定您不想搜索的路径
find