bash - varios - Copie los contenidos de las carpetas anidadas en una carpeta recursivamente(terminal)
mover varios archivos en linux (2)
Tengo una carpeta de carga de Wordpress que está estructurada usando subcarpetas durante meses.
wolfr2:uploads wolfr$ tree .
.
|-- 2007
| |-- 08
| | |-- beautifulkatamari.jpg
| | |-- beautifulkatamari.thumbnail.jpg
| | |-- beetle.jpg
| | |-- beetle.thumbnail.jpg
¿Cómo uso terminal para copiar todas las imágenes recursivamente en otra carpeta? Parece que no puedo comodín carpetas como puede comodín nombres de archivo. (por ejemplo, * .jpg o *) (estoy en Mac OSX)
cp -R ./*.jpg .
?
Esto copiará todos los archivos * .jpg de la carpeta actual a una nueva carpeta y conservará la estructura del directorio.
tar cvfp `find . -name "*.jpg"` | (cd <newfolder>; tar xfp -)
Para copiar sin preservar la estructura del directorio:
cp `find . -name "*.jpg"` <newfolder>
La parte superior de mi cabeza:
find . -type f -name /*.jpg -exec cp /{/} $TARGETFOLDER /;
Si eso no funciona, comenten y lo intentaré de nuevo, pero find
definitivamente es el camino a seguir.