How can one recursively copy all files of a specific pattern (*.tpl
) using rsync
?
Example:
/etc/test.tpl
/etc/dir/test.tpl
/etc/dir/**/test.tpl
How can one recursively copy all files of a specific pattern (*.tpl
) using rsync
?
Example:
/etc/test.tpl
/etc/dir/test.tpl
/etc/dir/**/test.tpl
One command that solves this is:
rsync --dry-run --verbose --recursive --relative --prune-empty-dirs --include="**/" --include="*.tpl" --exclude="*" /source /dest/
--relative
: Recreate all parent folders.--include="**/"
: The **
part allows recursion for folders (/
).--include="*.tpl"
: The pattern.--exclude="*"
: Exclude the rest.So far, we have included the whole folder structure, albeit with empty folders.
--prune-empty-dirs
: Remove empty folders [from the list].