Posts Tagged ‘Buscar’

Copiar archivos con cp y xargs

Posted on the March 2nd, 2009 under GNU/Linux by Carlos Narez

Hoy me toco copiar unos archivos de diferentes directorios hacia un directorio específico, después de horas de investigación y pruebas, les comento como lo realicé.

Si quieren copiar todos los archivos de un directorio y sus subdirectorios a otra ubicación lo pueden hacer con los siguientes comandos.

$ find . -iname "*foobar*" -exec cp "{}" ~/dirDestino \;

o este otro

$ find . -name "*.jpg" -print0 | xargs -t -0 -I xxx cp xxx ~/dirDestino

Pero si en su lugar ustedes tienen un archivo con las rutas (posiblemente resultado de otras verificaciones) como el siguiente

./dir1/47514.jpg
./dir2/11546.jpg
./dir2/11736.jpg
./dir3/80009.jpg
./dir3/80015.jpg

y esas rutas son las que quieren mandar como parámetros al cp en xargs lo pueden hacer agrando un caracter delimitador (en este caso un *) y luego enviarlo como parametro como se muestra a continuación.

$ awk '{printf $0"*"}' ejemplo.txt > ejemploConDelimitador.txt
$ cat ejemploConDelimitador.txt | xargs -t --delimiter=* -I xxx cp xxx ~/dirDestino

Listo! Esto resulta muy útil cuando se tratan de cientos de archivos. Espero que les sirva y si tienen alguna duda no se olviden de escribirla en los comentarios.

Buscar texto en archivos recursivamente

Posted on the July 15th, 2008 under GNU/Linux by Carlos Narez

Cuando se esta buscando un texto en un conjunto de archivos, distribuidos en varios subdirectorios, es de mucha utilidad este comando.

find . | xargs grep 'texto'

Claro en un sistema Unix.