[英]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.