![Como posso copiar arquivos de vários subdiretórios para outro diretório preservando a estrutura de diretórios?](https://rvso.com/image/1072581/Como%20posso%20copiar%20arquivos%20de%20v%C3%A1rios%20subdiret%C3%B3rios%20para%20outro%20diret%C3%B3rio%20preservando%20a%20estrutura%20de%20diret%C3%B3rios%3F.png)
Eu tenho um diretório contendo muitos subdiretórios semelhantes. Cada um desses subdiretórios contém alguns arquivos nos quais estou interessado e outros nos quais não estou.
Eu quero copiar:
DE: dois arquivos específicos: arquivo1.txt arquivo2.json de cada subdiretório
PARA: um local diferente
Mas criar os subdiretórios naquele local
Por exemplo se eu tiver
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
|
Quero copiar isso para outro local, mas excluindo "algumas outras coisas e pastas que não preciso"
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
|
Como posso fazer isso no terminal bash?
Responder1
Você pode usar cp
com --parents
:
cd base
cp -v --parents */file1.txt */file2.json ../target/
Responder2
Existe algum padrão para os arquivos que você deseja copiar?
A partir do exemplo, se considerarmos "-file1.txt" e "file2.json" como os arquivos que você deseja copiar para a nova estrutura de diretórios, isso pode ser feito desta forma, devo pensar:
rsync -av --include="*/" --include="*-file1.txt" --include="*file2.json" --exclude="*" /src/dir/ /dest/dir/
Espero que isso ajude.