我有一个子树的树,其中一些包含一个名为“模板”一词的文件。 我想rsync他们到不同的位置相同的subdir树。
例如:来源:
curfolder/dir1/dir2/blah_template.ext curfolder/dir3/dir4/foo_template.blah
预期目的地:
destfolder/dir1/dir2/blah_template.ext destfolder/dir3/dir4/foo_template.blah
这个命令不起作用; 它将所有文件放在基本目标文件夹中,而不是放在正确的子目录中:
rsync -av curfolder/*/*/*template* destfolder
所以我想我需要一个像这样的filter,但这不起作用(它似乎只是同步一切):
rsync -av -f"+ *template*" curfolder destfolder
一种方式来做到这一点:
rsync -av --include "*/" --include="*_template*" --exclude="*" --prune-empty-dirs curfolder/ destfolder/
rsync的人
它用什么语言来expression:
这两个包含优先于排除,所以排除只匹配包含不匹配的所有内容。