Орден - включает
и - исключать параметры
.
Вы сначала включаете все *. PDF
файлы, более позднее исключение * Web * .pdf
Никогда не применяется из-за этого. Примечание также, что включают в себя / исключать шаблоны, применяемые к именам узла (файлы, каталоги и т. Д.), а не на исходные данные, если у вас нет /
или **
в шаблоне; Таким образом, исключая * Web * .pdf
не будет исключать ... Web ... / ... PDF
В любом случае.
Если вы хотите, чтобы все PDF, но не соответствующие каталогам * Web *
, то это должно работать:
rsync -rv --exclude "*web*/" --include="*.pdf" --include="*/" --exclude="*" --prune-empty-dirs /source/ ~/destination/
Это предотвратит rsync, рекусируя в сопоставление каталогов * web *
, включить Все *. PDF
файлы, включают все другие каталоги, исключить все остальные файлы.
Использование **
**
в шаблоне может также работать, хотя предпочитаю вышеуказанное решение:
rsync -rv --exclude "**web*.pdf" --include="*.pdf" --include="*/" --exclude="*" --prune-empty-dirs /source/ ~/destination/