2013-08-05 46 views
0

我正在尋找一種方法來生成一個目錄中的所有目錄的列表,以便我可以循環並對列表中的每個目錄執行操作。如何生成目錄列表,同時忽略.war文件?

我已經能夠遠遠得到這個:

$ for dirs in /var/lib/tomcat7/webapps/*; do echo $dirs; done; 

這將返回以下列表:

/usr/local/jss/tomcat/webapps/bender 
/usr/local/jss/tomcat/webapps/bender.war 
/usr/local/jss/tomcat/webapps/fry 
/usr/local/jss/tomcat/webapps/fry.war 
/usr/local/jss/tomcat/webapps/leela 
/usr/local/jss/tomcat/webapps/leela.war 

這是一個良好的開端,但我需要忽略的.war文件。我怎樣才能做到這一點?

我還需要捕獲目錄的名稱(沒有完整路徑)到一個變量。

回答

0
for dirs in /var/lib/tomcat7/webapps/*/; do ... done 

尾隨斜線。或者:

find /var/lib/tomcat6/webapps -maxdepth 1 -type d 

如果您在$dir有一個目錄名,這將去掉父目錄:

${dir##*/} 

例子:

$ dir=a/b/c 
$ echo ${dir##*/} 
c