如何在忽略.war文件的同时生成目录列表?

时间:2013-08-05 04:05:31

标签: bash

我正在寻找一种方法来生成目录中所有目录的列表,这样我就可以遍历并对列表中的每个目录采取操作。

我已经能够做到这一点:

$ 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文件。我怎么能这样做?

我还需要将目录的名称(没有完整路径)捕获到变量中。

1 个答案:

答案 0 :(得分: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