2011-10-28 115 views
4

使用shell腳本,我想查找一個目錄中的所有目錄(不是遞歸地),以一個特定的前綴開始,然後遍歷它們。僞例如:如何查找以特定前綴開頭的目錄中的所有目錄?

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

設置'nullglob'選項。 'shopt -s nullglob' –

1

這裏是find和替代xargs

find /etc/build/project-build-*/ -maxdepth 1 -name Makefile | xargs do_something 
相關問題