El día 6 de noviembre de 2010 14:30, Abilio Almeida Eiroa
<aabilio@gmail.com> escribió:
>>> grep -r "mysql_connect" $(find . -name *php) |less
>>>
>>> no tengo pruebas concretas que vaya a funcionar (ni siquiera intenté
>>> probarlo :P ) y seguramente hay una forma mejor de hacerlo.
>>> O al menos una distinta
>
> Esto si que debería funcionar sin problemas
>
>> No creo que funcione lo que pusiste, tendria que ser algo así como:
>> (find . -name ".*php")|while read line; do grep "mysql_connect"
>> "$line"; done|less
>
> Esto no funcionará, principalmente por que está mal escrito, sería algo así:
> find . -name "*.php" | while read line; do grep "mysql_connect"
> "$line"; done| less
> y aun así no te mostrará el nombre del archivo donde se encuentra el
> patrón (al estilo grep -r) (Se podría poner poner del estilo:
> find . -name "*.php" | while read line; do grep "mysql_connect"
> "$line" && echo $line; done | less
> para que mostrara la el archivo en el que está tras el patrón encontrado)
>
>
>> pero mucho mejor usar el --include del grep como ha comentado camaleón.
>
> Para mi esta es la mejor opción.
>
> Aunque tienes otras:
> find . -name *.php | xargs grep "mysql_connect" (también buena)
> find . -name *.php -exec grep "mysql_connect" {} \; (Aunque tampoco
> mostraría el nombre del archivo)
Buenas, si al grep le añades un -H te mostrará también el nombre del archivo.
--
Angel Abad
angelabad@gmail.com | angelabad@ubuntu.com | angelabad@fsfe.org
http://www.pastelero.net
FPR: EBF6 080D 59D4 008A DF47 00D4 098D AE47 EE3B C279
Archive: http://lists.debian.org/AANLkTikHbb1LQNFW0Y-i0jG_gCB6xN-Rygqg2A1ce_B@mail.gmail.com