búsqueda de texto

Horst H. von Brand vonbrand en inf.utfsm.cl
Sab Oct 21 02:20:15 CLST 2006


Julio Pacheco <tj en vtr.net> wrote:
> Tengo un directorio con 1000000+ archivos de diversos tipos.
> Necesito identificar sólo aquellos que contienen un patrón de la
> siguiente forma:
>
> texto_a_buscar[nul][nul](otro texto)
> 
> en que texto_a_buscar puede aparecer en otros archivos (texto, código,etc).
> Es posible hacer la búsqueda con un simple grep, o tengo que cocinar algo
> en perl?
> Hasta el momento, he probado con:
> 
> grep "texto_a_buscar\0\0" *
> grep "texto_a_buscar\x00\x00" *
> grep "texto_a_buscar\000\000" *

Recuerda que en C un string termina con '\0', asi que lo mas probable es
que grep(1) no pesque (en realidad, ni le lleguen) los '\0' en tu
patron... ve que dice el manual al respecto.

> ninguna de las cuales funciona.
> Una prueba rápida con perl -ne 'print if m#texto_a_buscar\x00\x00#' *
> encuentra el texto, pero necesito que muestre el nombre de archivo.

Haz eso iterando sobre los archivos...

[Perl *si* funciona, su representacion interna de strings no es la C-istica]
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                    Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria             +56 32 2654239
Casilla 110-V, Valparaiso, Chile               Fax:  +56 32 2797513


Más información sobre la lista de distribución Linux