linux如何在特定文件夹中查找特定文件

时间:2013-09-17 12:26:38

标签: linux find

这是我的文件夹结构:

/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 {} \; \;

2 个答案:

答案 0 :(得分:35)

您可以使用-path选项代替-name。它将整个绝对路径与正则表达式匹配。

find /var/www/html -path "*/myFolder/*.php" -exec do_some_housekeeping {} \;

答案 1 :(得分:3)

-path标志可能会有很大帮助。

find /var/www/html -path "myFolder/otherFolder?" -name "*.php" -exec do_some_housekeeping {} \;