This is my folder structure:
这是我的文件夹结构:
/site1/myFolder/otherFolder1/a.gif
/site1/myFolder/otherFolder1/a.gif
/site1/myFolder/otherFolder1/b.png
/site1/myFolder/otherFolder1/b.png
/site1/myFolder/otherFolder1/c.php
/site1/myFolder/otherFolder1/c.php
...
...
/site2/myFolder/otherFolder2/d.gif
/site2/myFolder/otherFolder2/d.gif
/site2/myFolder/otherFolder2/e.png
/site2/myFolder/otherFolder2/e.png
/site2/myFolder/otherFolder2/f.php
/site2/myFolder/otherFolder2/f.php
...
...
/site3/myFolder/otherFolder3/g.gif
/site3/myFolder/otherFolder3/g.gif
/site3/myFolder/otherFolder3/h.png
/site3/myFolder/otherFolder3/h.png
/site3/myFolder/otherFolder3/i.php
/site3/myFolder/otherFolder3/i.php
...
...
Got this far:
到目前为止:
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
But I want to do something like this:
但我想做这样的事情:
find /var/www/html -type d -name myFolder -exec find {} -name "*.php" -exec do_some_housekeeping {} \; \;
2 个解决方案
#1
31
You can use the -path
option instead of -name
. It would match the entire absolute path with the regex.
您可以使用-path选项而不是-name。它将整个绝对路径与正则表达式匹配。
find /var/www/html -path "*/myFolder/*.php" -exec do_some_housekeeping {} \;
#2
3
There is a -path
flag that would probably help a lot.
有一个-path标志可能会有很大帮助。
find /var/www/html -path "myFolder/otherFolder?" -name "*.php" -exec do_some_housekeeping {} \;
#1
31
You can use the -path
option instead of -name
. It would match the entire absolute path with the regex.
您可以使用-path选项而不是-name。它将整个绝对路径与正则表达式匹配。
find /var/www/html -path "*/myFolder/*.php" -exec do_some_housekeeping {} \;
#2
3
There is a -path
flag that would probably help a lot.
有一个-path标志可能会有很大帮助。
find /var/www/html -path "myFolder/otherFolder?" -name "*.php" -exec do_some_housekeeping {} \;