Quando a cópia fica complicada, rsync
costuma ser útil:
rsync -mva --include '*/' --include '*.png' --exclude '*' "$1/" .
Antes de executar isso de verdade, faça um dry-run (opção: -n
) para que você possa verificar se faz o que deseja:
rsync -nmva --include '*/' --include '*.png' --exclude '*' "$1/" .
Como funciona
-
-v
(opcional) diz ao rsync para ser detalhado, para que você possa ver o que está acontecendo.
-
-a
(opcional) diz ao rsync para preservar atributos.
-
--include '*/'
diz ao rsync para incluir todos os diretórios
-
--include '*.png'
diz ao rsync para incluir todos os arquivos com .png
de sufixo.
-
--exclude '*'
diz ao rsync para excluir todos os arquivos não correspondidos acima.
-
-m
diz ao rsync para não copiar diretórios que estariam vazios no lado do recebimento.
Observe que as opções include / exclude precisam ser especificadas por ordem.