25

これは私のフォルダ構造です:

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

2 に答える 2

39

-pathの代わりにオプションを使用できます-name。絶対パス全体が正規表現と一致します。

find /var/www/html -path "*/myFolder/*.php" -exec do_some_housekeeping {} \;
于 2013-09-17T12:38:02.147 に答える
4

-pathおそらく大いに役立つフラグがあります。

find /var/www/html -path "myFolder/otherFolder?" -name "*.php" -exec do_some_housekeeping {} \;
于 2013-09-17T12:36:57.500 に答える