-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Gerardo Herzig escribió:
Nacho wrote:
Gerardo Herzig escribió:
Nacho wrote:
Hola a todos, necesito un comando que busque recursivamente en un directorio todos los archivos que tengan la extendion .f y que de ellos selecciones los que contengan una cadena de texto y estos los copie a otro directorio y los renombre con la extensión .msf Muchas gracias A ver...capaz algo asi (untested) PUNTO_DE_PARTIDA=/home/files/ CADENA_A_BUSCAR="texto_loco" DIR_DONDE_COPIAR=/tmp/destino/ cd $PUNTO_DE_PARTIDA for archivo in `find -type f -name "*.f"` do grep $CADENA_A_BUSCAR $archivo && cp $archivo $DIR_DONDE_COPIAR/$archivo.msf done
Podria ser lo que buscas. Saludos. Gerardo Si esto es, solo que el punto de partida son muchos directorios dentro de otro, como podemos hacer esto de forma recursiva, son 95 directorios denominados recup_dir.1 y asi sucesivamente hasta el recup_dir.95 Gracias /Nacho Entonces haz que el punto de partida sea el directorio que contiene a todos esos! Si recup_dir.1..recup_dir.95 estan dentro de, digamos recup_dir, entonces recup_dir seria el 'punto de partida'
Saludos. Gerardo
Vamos por partes, el archivo script utilizado es el siguiente: #! /bin/bash -x echo "alla vamos !" # definicion de variables PUNTO_DE_PARTIDA=/seguridad CADENA_A_BUSCAR="ernesto" DIR_DONDE_COPIAR=/seguridad/mas # empieza el programa # situandonos en el directorio a escanear cd $PUNTO_DE_PARTIDA # ahora hacemos un bucle buscando los ficheros que acaban en .f # y los copiamos al dir. ernesto y añadimos la ext .msf for archivo in `find . -type f -name "*.f"` do grep -li $CADENA_A_BUSCAR $archivo && cp $archivo $DIR_DONDE_COPIAR/$archivo.msf done Bueno pues la busqueda si que la hace de manera recursiva, es decir busca en todos los directorios desde /seguridad en adelante, y encuentra los archivos, pero a la hora de cambiarles el nombre y copiarlos a otro directorio falla, las rutas las he comprobado y son correctas, ademas si lo haces directorio por directorio funciona, alguna idea?? Gracias /Nacho -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iEYEARECAAYFAkq2nsoACgkQDoK71SWnshXxlQCghd6569i77N0fFn1jNu+7qAIl w5gAniIlldhx2DqpYGRRRY+0zfwgidT2 =RQCG -----END PGP SIGNATURE----- -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org