Tente
find /srv/www/*/htdocs/system/application/ -name "*.php" -exec grep "debug (" {} \; -print
Isso deve pesquisar recursivamente as pastas em application
para arquivos com extensão .php
e passá-las para grep
.
Uma otimização seria executar:
find /srv/www/*/htdocs/system/application/ -name "*.php" -print0 | xargs -0 grep -H "debug ("
Isso usa xargs
para passar todos os arquivos .php
gerados por find
como argumentos para um único comando grep
;
por exemplo, grep "debug (" file1 file2 file3
. A opção -print0
da opção find
e -0
de xargs
garante que os espaços nos nomes de arquivos e diretórios sejam tratados corretamente. A opção -H
passada para grep
garante que o nome do arquivo seja impresso em todas as situações. (Por padrão, grep
imprime o nome do arquivo apenas quando vários argumentos são passados.)
De man xargs:
-0
Input items are terminated by a null character instead of by whitespace, and the quotes and backslash are not special (every character is taken literally). Disables the end of file string, which is treated like any other argument. Useful when input items might contain white space, quote marks, or backslashes. The GNU find
-print0
option produces input suitable for this mode.