El lun, 18-07-2005 a las 21:57 +0200, Jesús Genicio escribió: > Hola a todos/as: > > Tengo una estructura de directorios tal que así. > > base__ > | > |__doc__ > | > |_2004__ > | | > | |__01__ > | |datos en forma de archivos .htm ( varios) > |_2005__ > | > |__02__ > |datos en forma de archivos .htm ( varios) > > Así con los años 1995-2005 y por meses. > > Ejecuto la orden > > find base/doc/2005 -name 05 -exec find {} -name 'ventas*.htm' \; > > y me da los archivos de ese año 2005 y ese mes 05 correspondientes a > ventas, ahora quiero hacer un cat de los archivos que me entrega y un > greep para encontrar datos concretos. ¿Cómo se anida otra orden a la > segunda "find". > > No se si me explico bien.... > > Así: > > find base/doc/2005 -name 05 -exec find {} -name 'ventas*.htm' -exec cat > {} \; \; > > No me deja. > > find base/doc/2005 -name 05 -exec find {} -name 'ventas*.htm' \; -exec > cat {} \; > > Tampoco. > > ¿Me podeís decir algo.?
Antes de empezar decirte que no manejo find más que para mostrar todos los archivos en un directorio pero bueno como solución te puede valer: for i in `find /base/doc/* |grep "2005" |grep "\/05 |grep ventas*htm" `do cat $i|grep FILTRO; done en FILTRO pones lo que necesites. el tema de filtrar el mes 05 habiendo año 2005 es complicado, no lo he probado pero supongo que se puede leer con "\/05" Ahora llámame chapucero.. > > Saludos. > > -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]