这是我的文件夹结构:
/site1/myFolder/otherFolder1/a.gif
/site1/myFolder/otherFolder1/b.png
/site1/myFolder/otherFolder1/c.php
…
/site2/myFolder/otherFolder2/d.gif
/site2/myFolder/otherFolder2/e.png
/site2/myFolder/otherFolder2/f.php
…
/site3/myFolder/otherFolder3/g.gif
/site3/myFolder/otherFolder3/h.png
/site3/myFolder/otherFolder3/i.php
…
有这么远:
find /var/www/html -type d -name myFolder -exec find {} -name "*.php" \; for i in `find /var/www/html -type d -name myFolder -exec find {} -name "*.php" \;` do some_house_keeping_here done
但是我想要做这样的事情:
find /var/www/html -type d -name myFolder -exec find {} -name "*.php" -exec do_some_housekeeping {} \; \;
您可以使用-path
选项而不是-name
。 它将匹配整个绝对路径与正则表达式。
find /var/www/html -path "*/myFolder/*.php" -exec do_some_housekeeping {} \;
有一个可能会帮助很多的-path
标志。
find /var/www/html -path "myFolder/otherFolder?" -name "*.php" -exec do_some_housekeeping {} \;