使用 rsync 从复杂文件目录复制

使用 rsync 从复杂文件目录复制

我有一个复杂的文件目录,例如下面的目录。

  • 顶级目录
    • 目录1
      • 目录2
        • 文件1
        • 文件2
        • 目录3
          • 文件3
          • 文件4
          • File5 > ../File1 (符号链接)
        • 目录4
        • 目录5
      • 目录6
      • 目录7

我有一个文本文件中的文件列表,例如:

/Top_directory/Dir1/Dir2/Dir3

我想要的是这个:

从文本文件中读取,我想复制 Dir3 中的所有内容,但应保留符号链接(它应该将 File1 复制到 Dir2 中,并将链接复制到 File5)。我还想复制顶级目录和 Dir3 之间的所有文件(在本例中为 File2)。但我不需要 Dir4、Dir5、Dir6 和 Dir7(基本上是文本文件中未包含的目录)。rsync 是最有希望的选项,但我不能使用包含排除选项,因为目录比给出的要多得多。所以在目标文件夹中应该是这样的:

  • 顶级目录
    • 目录1
      • 目录2
        • 文件1
        • 文件2
        • 目录3
          • 文件3
          • 文件4
          • File5 > ../File1 (符号链接)

我怎样才能实现这个目标?

相关内容