Rsync dois tipos de arquivos em um comando?

12

Como escrevê-los em uma linha, também sem repetir o mesmo caminho?

rsync -a root@somewhere:/folder/remote/*.txt .
rsync -a root@somewhere:/folder/remote/*.jpg .
    
por Cheng 10.12.2010 / 09:59

2 respostas

17

Eu escreveria assim:

rsync -a root@somewhere:/folder/remote/*.{txt,jpg} .
    
por 10.12.2010 / 10:28
8
rsync -a --include='*.txt' --include='*.jpg' --exclude='*' root@somewhere:/folder/remote/ .

(Observe que o% final/ em /folder/remote/ e o posicionamento de --exclude='*' após as regras de inclusão são importantes.) Em shells que suportam expansão de contraventamento (por exemplo, bash, ksh, zsh):

rsync -a --include='*.'{txt,jpg} --exclude='*' root@somewhere:/folder/remote/ .

Adicione --include='*/' --prune-empty-dirs se quiser copiar arquivos em subdiretórios também.

    
por 10.12.2010 / 19:58

Tags