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

时间:2012-01-19 16:01:27

标签: bash shell find command-line-interface

对于像我这样的bash noob的棘手问题,但我确信这对我来说更容易。 我目前正在使用find命令,如下所示:

run "find #{current_release}/migration/ -name '*.sql'| sort -n | xargs  cat >#{current_release}/#{stamp}.sql"

在我的capistrano食谱中。

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

作为回顾,文件夹结构是

Folder
|- sub1
|- sub2

并且我正在尝试创建一个指定仅在sub1上递归的例子。我确信这是可能的,只是找不到。 感谢。

2 个答案:

答案 0 :(得分:2)

只需指定要查找的参数的目录,例如find #{current_release}/migration/sub1 ...

编辑:根据您的澄清,您应该使用-maxdepth的{​​{1}}参数来限制递归深度。因此,例如,您可以使用find

答案 1 :(得分:0)

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

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

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