Aplica para: Linux
Usa: Línea de comandos (que bonito ¿no?)
Problema: Tienes una estructura de directorios que necesitas replicar completamente, y luego debes copiar los archivos dentro de cada carpeta original. La estructura la lograste escribir en un archivo (digamos que con un grep o algo similar).
Usa: Línea de comandos (que bonito ¿no?)
Problema: Tienes una estructura de directorios que necesitas replicar completamente, y luego debes copiar los archivos dentro de cada carpeta original. La estructura la lograste escribir en un archivo (digamos que con un grep o algo similar).
Solución: En cómodos 2 "simples" comandos:
$ for a in `cat carpetas`; do echo $a | sed 's/\w*\.java//' | xargs -i mkdir -p respaldo/{}; done;
$ cat carpetas | xargs -i cp {} respaldo/{}
Para el caso del ejemplo "carpetas" es el archivo donde tengo la estructura original a replicar, incluyendo el listado de archivos .java que deseo copiar. "respaldo" viene siendo la carpeta de destino.
Quizás les sirve, quizás no...
Optimizable por cierto.
1 comentario:
La versión mejorada:
find . -type d -exec ls -d {} \; | xargs -i mkdir -p ./respaldo/{}
eso para replicar completamente la estructura de directorios.
cat archivos.txt | xargs -i mv {} ./respaldo/{}
para mover el listado de archivos (conforme al patrón de búsqueda que se haya usado) a la nueva ruta.
Publicar un comentario