繁体   English   中英

如何使用 rsync 传输与模式匹配的文件

[英]how to transfer files that match a pattern with rsync

早上好,我想将目录中的特定文件传输到远程机器,同时保持子目录的体系结构。 此外,我只想传输具有特殊扩展名的文件(例如“.txt”)。 我尝试了以下方法:

rsync -aP --include *.txt ./sourceDirectory user@hostIP:destDirectory

但它会将所有文件复制到目标( destDirectory ),而不仅仅是那些与.txt模式匹配的文件。 谁能帮我解出这样的谜语?

PS:显然,目录sourceDirectory包含我的.txt文件所在的子目录。

我曾经在将视频同步到家庭 NAS 时遇到同样的问题。 如果您阅读 rsync 的手册, --include标志实际上意味着“不排除”。 它实际上必须与--exclude标志一起使用。

以下命令将完成您的工作:

rsync -aP --include="*/" --include="*.txt" --exclude="*" sourceDirectory destDirectory

该命令的字面意思是排除所有内容,子文件夹和 txt 文件除外。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM