Copie um subconjunto de pastas enquanto preserva a árvore de diretórios

1

Sou completamente novo no Linux e no Ubuntu.

Estou trabalhando com uma grande quantidade de pastas e arquivos organizados dessa maneira.

/Qarc/Svendborg FU1/1000/1002/Gait1  
/Qarc/Svendborg FU1/1000/1002/Gait2  
/Qarc/Svendborg FU1/1000/1002/Shot001      
/Qarc/Svendborg FU1/2000/2001/Gait1  
/Qarc/Svendborg FU1/2000/2001/Gait2  
/Qarc/Svendborg FU1/2000/2001/Shot001  
Basicamente, o que eu preciso é copiar todas as subpastas Gait1 e Gait2, preservando pelo menos sua pasta pai (como esta contém informações sobre o paciente a quem os arquivos na pasta gait também pertencem).

Com base em uma resposta anterior para um problema semelhante de outro usuário, tentei o código a seguir.

rsync -avz --include='Gait*/' --exclude='*.*/'  /Qarc/Svendborg\ \FU1/ /home/steen/recordings/Svendborg\ \FU1/  

Mas este código copia todas as pastas e arquivos dentro da pasta "Svendborg FU1" e não apenas as subpastas Gait1 e Gait2 do que eu estou tentando segmentar.

Qualquer ajuda é muito apreciada. Agradecemos antecipadamente

    
por Steen Harsted 25.04.2018 / 19:27

1 resposta

0

Eu mesmo consegui encontrar uma solução. Estou completamente certo de que esta não é a maneira mais fácil de fazê-lo, mas funcionou. Eu tentei várias soluções com expressões regulares, mas não consegui fazê-las funcionar. Então acabei adicionando --include = '' e --exclude = '' para todas as pastas que estavam presentes no diretório.

rsync -avz --include='Gait1/' --include='Gait2/' --exclude='shot_00*'  --exclude='1.*' --exclude='3.*' /Qarc/Svendborg\ \FU1/ /home/steen/recordings/Svendborg\ \FU1/
    
por Steen Harsted 26.04.2018 / 09:32