Когда копирование усложняется, часто бывает полезен rsync
:
rsync -mva --include '*/' --include '*.png' --exclude '*' "$1/" .
Однако, прежде чем запускать это по-настоящему, сделайте сухое- запустите (option: -n
), чтобы вы могли убедиться, что он делает то, что вы хотите:
rsync -nmva --include '*/' --include '*.png' --exclude '*' "$1/" .
-v
(необязательно) сообщает rsync, что он подробный, чтобы вы могли видеть в чем дело.
-a
(необязательно) указывает rsync сохранять атрибуты.
- include '* /'
указывает rsync включить все каталоги
- include '* .png'
указывает rsync включить все файлы с суффиксом .png
.
- exclude '*'
указывает rsync исключить все файлы, не соответствующие приведенному выше.
-m
указывает rsync не копировать каталоги, которые будут пустыми на принимающей стороне.
Обратите внимание, что параметры включения / исключения должны быть указаны по порядку.