2011-10-28 10 views
4

シェルスクリプトを使用して、特定の接頭辞で始まり、それらをループするディレクトリ内のすべてのディレクトリを(再帰的にではなく)探したいと思います。擬似コード例:特定の接頭辞で始まるディレクトリ内のすべてのディレクトリを見つけるにはどうすればよいですか?

array directories = find('/etc/build', 'project-build-*'); 
foreach (string directory in directories) 
{ 
    // directory == 'project-build-example-x64' 
    do_something_with('/etc/build/' + directory + '/Makefile'); 
} 

答えて

5
for dir in "/etc/build/project-build-"*/ 
do 
    do_something_with "$dir"Makefile 
done 
+0

うわー、それは本当に直感的だと選択肢です!ありがとう。 –

+0

フォローアップとして、一致するものがなければパターン自体で1回実行します...どうすれば修正できますか? –

+1

'nullglob'オプションを設定します。 'shopt -s nullglob' –

1

ここではfindxargs

find /etc/build/project-build-*/ -maxdepth 1 -name Makefile | xargs do_something 
関連する問題