![¿Cómo puedo copiar archivos de muchos subdirectorios a otro directorio manteniendo la estructura del directorio?](https://rvso.com/image/1072581/%C2%BFC%C3%B3mo%20puedo%20copiar%20archivos%20de%20muchos%20subdirectorios%20a%20otro%20directorio%20manteniendo%20la%20estructura%20del%20directorio%3F.png)
Tengo un directorio que contiene muchos subdirectorios similares. Cada uno de estos subdirectorios tiene algunos archivos que me interesan y otros que no.
quiero copiar:
DE: dos archivos particulares: file1.txt file2.json de cada subdirectorio
PARA: una ubicación diferente
Pero hacer los subdirectorios en esa ubicación
Por ejemplo si tengo
base
|_folder_00000001
| |_-file1.txt
| |_ file2.json
| |_some_other_things_I_dont_need
| |_some_other_folder_I_dont_need
|
|_folder_00000002
| |_-file1.txt
| |_ file2.json
| |_some_other_things_I_dont_need
| |_some_other_folder_I_dont_need
|
|_folder_00000003
| |_-file1.txt
| |_ file2.json
| |_some_other_things_I_dont_need
| |_some_other_folder_I_dont_need
|
|_folder_00000004
| |_-file1.txt
| |_ file2.json
| |_some_other_things_I_dont_need
| |_some_other_folder_I_dont_need
|
Quiero copiar esto a otra ubicación pero excluyendo "algunas otras cosas y carpetas que no necesito"
target
|_folder_00000001
| |_-file1.txt
| |_ file2.json
|
|
|_folder_00000002
| |_-file1.txt
| |_ file2.json
| |
|_folder_00000003
| |_-file1.txt
| |_ file2.json
| |
|_folder_00000004
| |_-file1.txt
| |_ file2.json
|
¿Cómo puedo hacer esto desde la terminal bash?
Respuesta1
Puedes usar cp
con --parents
:
cd base
cp -v --parents */file1.txt */file2.json ../target/
Respuesta2
¿Existe algún patrón en los archivos que desea copiar?
En el ejemplo, si tomamos "-file1.txt" y "file2.json" como los archivos que desea copiar a la nueva estructura de directorios, se puede hacer de esta manera, debería pensar:
rsync -av --include="*/" --include="*-file1.txt" --include="*file2.json" --exclude="*" /src/dir/ /dest/dir/
Espero que eso ayude.