0

我正在寻找一种方法来生成目录中所有目录的列表,以便我可以循环遍历并对列表中的每个目录执行操作。

我已经能够做到这一点:

$ 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 文件。我怎样才能做到这一点?

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

4

1 回答 1

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
于 2013-08-05T04:07:00.663 回答