varios todos subdirectorios renombrar otro mover los listar directorios directorio copiar contenido archivos archivo linux bash find folder cp

linux - subdirectorios - Copie todos los archivos de la estructura de directorios completa en la ruta base de otra.



mover varios archivos en linux (4)

Tengo un árbol de directorios con muchos archivos en él. Me gustaría copiar todos esos archivos en un directorio nuevo, pero con todos los archivos ubicados en la base de la carpeta.

Así que tengo algo como esto:

images ├── avatar.png ├── bg.jpg ├── checkbox.png ├── cross.png ├── datatables │   ├── back_disabled.png │   ├── back_enabled.png │   ├── forward_disabled.png │   ├── forward_enabled.png │   ├── sort_asc.png │   ├── sort_asc_disabled.png │   ├── sort_both.png │   ├── sort_desc.png │   └── sort_desc_disabled.png ├── exclamation.png ├── forms │   ├── btn_left.gif │   ├── btn_right.gif │   ├── checkbox.gif │   ├── input │   │   ├── input_left-focus.gif │   │   ├── input_left-hover.gif │   │   ├── input_left.gif │   │   ├── input_right-focus.gif │   │   ├── input_right-hover.gif │   │   ├── input_right.gif │   │   ├── input_text_left.gif │   │   └── input_text_right.gif │   ├── radio.gif │   ├── select_left.gif │   ├── select_right.gif

Y me gustaría algo como esto:

new_folder ├── avatar.png ├── bg.jpg ├── checkbox.png ├── cross.png ├── back_disabled.png ├── back_enabled.png ├── forward_disabled.png ├── forward_enabled.png ├── sort_asc.png ├── sort_asc_disabled.png ├── sort_both.png ├── sort_desc.png ├── sort_desc_disabled.png ├── exclamation.png ├── btn_left.gif ├── btn_right.gif ├── checkbox.gif ├── input_left-focus.gif ├── input_left-hover.gif ├── input_left.gif ├── input_right-focus.gif ├── input_right-hover.gif ├── input_right.gif ├── input_text_left.gif ├── input_text_right.gif ├── radio.gif ├── select_left.gif ├── select_right.gif

Estoy bastante seguro de que hay un comando de base para eso, pero todavía no lo he encontrado. ¿Tienes alguna idea?

CS


En zsh :

cp /source/**/* /destination


Estás buscando formas de aplanar el directorio.

find /images -iname ''*.jpg'' -exec cp --target-directory /newfolder/ {} /;

find todos los archivos en el modo de nombre insensible.
cp copie una vez a --target-directory llamado /newfolder/ .
{} expandir la lista de find en la forma de /dir/file.jpg /dir/dir2/bla.jpg .


$ cd images && cp ** new_folder/


find /source-tree -type f -exec cp {} /target-dir /;