我正在寻找一种方法来生成目录中所有目录的列表,这样我就可以遍历并对列表中的每个目录采取操作。
我已经能够做到这一点:
$ 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 :(得分: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