[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ¿ GREP con más de 1700 parámetros ?



Iñaki escribió:
> Hoy me ha pasado algo inaúdito para mí. Digamos que he "saturado" los límites 
> del comando "grep" así como "wc -c". Me explico:
> 
> Tengo una carpeta mdir con 20000 correos en los cuales debo analizar si está 
> contenida una determinada expresión regular.
> 
> Lo hago así:
> 
>   grep -i -E "expresion regular"  *
> 
> pero me da error por número demasiado alto de parámetros.
> Mediante pruebas he concluido que el máximo son unos 1700.
> 
> Sé que el mismo comando lo podría ejecutar así:
> 
>   for correo in * ; do
>       grep -i -E "expresion regular"  correo
>   done
> 
> pero creedme que es unas 100 veces más lento. Entiendo yo que GREP tiene la 
> capacidad de optimizar búsquedas haciéndolas en varios archivos más que de 
> uno en uno (o repitiendo el comando secuencialmente, mejor dicho).
> 
> No me vale esta solución pues el servidor donde debo implementar este código 
> no puede permitirse dar tanto tiempo al mismo.
> 
> 
> Mi pregunta: ¿existe forma de aumentar ese número de parámetros máximo?
> Entiendo que no pero por si acaso lo pregunto.
> 
> 
> La única solución que se me ocurre es examinar los archivos de 1700 en 1700, 
> recoger cada tanda en una variable y aplicar el GREP, pero me da una pereza 
> tener que hacer eso con lo fácil que es sin tanto lío... (pero claro, no 
> funciona).
> 
> 
> Sólo eso, muchas gracias por cualquier ayuda.
> 

Disculpa, no sé si sea solución pero no se te hace más fácil hacerlo con
Perl por ejemplo, hay varios módulos en CPAN que te permitirían hacer
esto de manera muy sencilla


-- 
Salu2
Atentamente:
Alejandro Garrido Mota
http://www.mogaal.com
GNU/Linux Debian Etch
Correos: mogaal@debianvenezuela.org , mogaal@chaslug.org.ve
En kernel 2.6.17-8
Usuario Linux registrado #386758
Caracas-Venezuela
GPG Key Fingerprint = F6A7 EF7E 4688 70C6 6B37  A8EF F6B0 9645 B24B F200



Reply to: