.R 扩展名的 rsync 过滤不起作用

.R 扩展名的 rsync 过滤不起作用

这是我正在使用的:

rsync -rav --include '*/' --exclude '*' --include '*.R' user@remote:/folder/. .

我正在尝试复制远程文件夹及其所有子目录中的所有 .R 文件。结果是所有目录都被复制了,但是是空的。

我这里哪里出错了?

提前致谢!

注:我参考的是这篇文章:rsync 使用 include 选项仅复制某些类型的文件

答案1

您需要进行两项更改,并应考虑一项建议

  • 包含和排除指令是从左到右处理的,因此您需要.R在排除所有内容之前包含文件(其他)
  • 使用--prune-empty-dirs以便仅在目标上创建相关目录
  • 你不需要,-r因为它暗示-a

所以

rsync -av --prune-empty-dirs --include '*/' --include '*.R' --exclude '*' user@remote:/folder/ .

相关内容