对于像我这样的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上递归的例子。我确信这是可能的,只是找不到。 感谢。
答案 0 :(得分:2)
只需指定要查找的参数的目录,例如find #{current_release}/migration/sub1 ...
。
编辑:根据您的澄清,您应该使用-maxdepth
的{{1}}参数来限制递归深度。因此,例如,您可以使用find
。
答案 1 :(得分:0)
您只需将其附加到find
调用:
find #{current_release}/migration/sub_you_want -name ...
根据您确定所需子目录的方式,您也应该能够编写脚本。