我有一个复杂的文件目录,例如下面的目录。
- 顶级目录
- 目录1
- 目录2
- 文件1
- 文件2
- 目录3
- 文件3
- 文件4
- File5 > ../File1 (符号链接)
- 目录4
- 目录5
- 目录6
- 目录7
- 目录2
- 目录1
我有一个文本文件中的文件列表,例如:
/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 (符号链接)
- 目录2
- 目录1
我怎样才能实现这个目标?