phoemur
(usa Debian)
Enviado em 29/06/2018 - 19:44h
O find substituirá os {} por cada nome de arquivo que ele achar.
O -exec não é um comando do bash mas sim uma opção do find que executa o que você passar substituindo {} pelo nome do arquivo.
A diferença é que
find . -type f -iname "*.php" -exec grep "funtion" {} \+
Vai executar apenas um comando grep e colocar o máximo possível de arquivos nos parametros, por exemplo assim hipoteticamente seria o comando que ele manda:
grep "function" arquivo1.php arquivo2.php arquivo3.php ...... arquivo[N].php
Já assim:
find . -type f -iname "*.php" -exec grep "funtion" {} \;
Vai executar um grep para cada arquivo, por exemplo:
grep "function" arquivo1.php
grep "function" arquivo2.php
grep "function" arquivo3.php
........
grep "function" arquivo[N].php
Entendeu?
Se não entendeu:
man find