El 2009-09-20 a las 23:29 +0200, Nacho escribió:
Gerardo Herzig escribió:
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'
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??
Hum... prueba reemplazando esta línea: *** grep -li $CADENA_A_BUSCAR $archivo && cp $archivo $DIR_DONDE_COPIAR/$archivo.msf *** Por esa otra: *** grep -li $CADENA_A_BUSCAR $archivo && cp $archivo $DIR_DONDE_COPIAR/${archivo##*/}.msf *** De esta forma toma el nombre del archivo en lugar de la ruta completa. Saludos, -- Camaleón -- 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