使用 rsync 复制除特定扩展名的特定文件名之外的所有文件

使用 rsync 复制除特定扩展名的特定文件名之外的所有文件

我有两张相同大小的闪存卡,我想根据以下规则将一张卡上的内容复制到另一张卡上:

  1. 我希望所有目录和子目录都到位
  2. 我想排除 .FOO、.BAR 和 .ZIM 类型的文件(复制所有其他文件)
  3. 奖金:如果它在复制时输出文件名就太酷了,因为它将复制约 8 GB 的信息

可以通过“查找”以某种方式完成此操作吗?

答案1

这将是明显更容易使用同步及其--exclude开关。

rsync -av --exclude='*.FOO' --exclude='*.BAR' --exclude='*.ZIM' /source /dest

-v开关将提供有关正在同步的文件的详细输出。

答案2

如果您有大量的扩展名需要排除,您可以创建一个文件并写下所有要排除的扩展名或文件,然后只使用一个排除选项以使其变得简单。

rsync -ravz --exclude='./abc,txt' /source /dest

如果必须递归复制,最好使用 z 进行压缩并使用 r 选项。

相关内容