【问题标题】:how to transfer files that match a pattern with rsync如何使用 rsync 传输与模式匹配的文件
【发布时间】:2021-07-13 23:58:18
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: bash rsync quotes


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2019-02-22
      • 2022-09-26
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多