A página de manual lista estas cinco opções:
--exclude=PATTERN exclude files matching PATTERN
--exclude-from=FILE read exclude patterns from FILE
--include=PATTERN don't exclude files matching PATTERN
--include-from=FILE read include patterns from FILE
--files-from=FILE read list of source-file names from FILE
--files-from
é para nomes de arquivos exatos e --include-from
é para padrões, portanto, convém tentar isso.
Usando include-from
, você não precisa para especificar +
, mas precisa excluir todo o resto. Por exemplo, dado:
$ ls -v1 source
image1.tiff
...
image700.tiff
$ cat includes
image7*.tiff
Eu só posso sincronizar image7*.tiff
usando:
rsync -aP --include-from=includes --exclude='*' source/ target
A página de manual também diz, na seção INCLUDE/EXCLUDE PATTERN RULES
:
- a ’*’ matches any path component, but it stops at slashes.
- use ’**’ to match anything, including slashes.