Subject:           Re: buscar texto
Date:              Fri, 21 Aug 1998 15:02:28 +0200
From:              "Valentín" 
Newsgroups:        es.comp.os.linux

jose antonio wrote in message <35DC772E.65CCBBCE@abonados.cplus.es>...
|Me gustaría saber como puedo buscar texto en varios archivos y que pueda
|admitir comodines y a ser posible que tambien admita en bucar en
|subdirecstorios. Estoy seguro de que hay algun programilla de esos para
|linux. En dos, yo utilizo uno de Norton.
|¡¡¡¡¡¡¡Gracias!!!!!.
|
|

Este es un aspecto resuelto hace siglos en unix mediante "grep" y "find"
Aqui te dare unicamente ejemplos pero deberias de mirarte las paginas de
manual (man grep. man find).

"Grep" te permite buscar "expresiones regulares" en archivos.

Ej:

$ grep hola pepe.c # busca la cadena hola en pepe.c
$ grep hola *.c # busca la cadena hola en los ficheros extension .c del
directorio actual

Algo mas complicado:

$ grep ^(f|b)*o(h)+. * # X* = X 0 o mas veces, X+ = X 0 o mas veces , ^X = X
al principio de linea,
    . = cualquier caracter menos \n. X | Y = X o Y. Este ejemplo haceptaria
las palabras siguientes si
    se encuentra en el margen izquierdo.

ohx
fbfbohhhhaavvddf
fffohhMAMAMIA
...

Ejemplo de uso comun: Listar unicamentes directorios:

$ ls -l | grep ^d


find sirbe para listar todos los archivos de un subarbol. Puede ejecutar
intrucciones por cada archivo:

$ find /usr/include -name "*.h" -exec grep open {} \; -print

por cada archivo de include busca open con grep e imprime el nombre de
archivo despues.

                                        Espero haber sido de ayuda
Valentín
----------------------------------------------------------------
RoMaRiO wrote:
> 
> Como buscar texto en subdirectorios ?


Algunos ejemplos: 

grep "string" `find . -type f`

find . -type f | xargs grep "string"

find . -type f | xargs fgrep "string" /dev/null

locate $PWD | grep "^$PWD" |xargs fgrep "string" /dev/null

find . \( -type f -name "*\.html" \) -exec grep -l "string" {} \;


Yo suelo usar el de find . -type f | xargs fgrep "string" /dev/null

Luis E. Garcia-Castillo" 



Santiago Romero

Volver a la página de linux.