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: [EMAIL PROTECTED] , [EMAIL PROTECTED] 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 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]