具有不同名称的Rsync文件目录

罗恩·鲁西(Ron Russey)

我正在尝试将rsync文件从目录添加incoming到名为的目录中outgoing,即

/testcopy/folder1/incoming/test1.txt

/testdest/folder1/outgoing/

目录来源:

/testcopy/folder1/incoming/test1.txt
/testcopy/folder1/incoming/test2.txt
/testcopy/folder2/incoming/test1.txt
/testcopy/folder2/incoming/test2.txt
/testcopy/folder3/incoming/test1.txt
/testcopy/folder3/incoming/test2.txt

目录目标:

/testdest/folder1/outgoing/
/testdest/folder2/outgoing/
/testdest/folder3/outgoing/

我希望目的地看起来像什么:

/testdest/folder1/outgoing/test1.txt
/testdest/folder1/outgoing/test2.txt
/testdest/folder2/outgoing/test1.txt
/testdest/folder2/outgoing/test2.txt
/testdest/folder3/outgoing/test1.txt
/testdest/folder3/outgoing/test2.txt

rsync我尝试过脚本:

touch /testcopy/folder3/incoming/test4.txt

我希望看到的是test4.txt文件在/testdest/folder3/outgoing/

# rsync -av /testcopy/*/incoming/* /testdest/*/outgoing/
sending incremental file list

sent 520 bytes  received 12 bytes  1,064.00 bytes/sec
total size is 0  speedup is 0.00

我已经尝试了上述脚本的几次不同迭代,但似乎无法正确完成。

库萨兰达

rsync 不允许重写源和目标之间的路径。

相反,您可以rsync为每个/testcopy/*/incoming目录调用一次

for srcdir in /testcopy/*/incoming/; do
    [ ! -d "$srcdir" ] && break

    destdir=/testdest/${srcdir#/testcopy/}   # replace /testcopy/ with /testdest/
    destdir=${destdir%/incoming/}/outgoing/  # replace /incoming/ with /outgoing/

    mkdir -p "$destdir" &&
    rsync -av "$srcdir" "$destdir"
done

对于每个incoming目录,通过将/testcopy/路径前缀替换为/testdest/并将/incoming/路径后缀替换为来构造目标路径/outgoing/这是使用两个标准参数替换完成的。

循环还会创建目标目录,以防万一该目录不存在。

[ ! -d "$srcdir" ] && break在循环的开始,可确保mkdirrsync如果模式不匹配任何不运行(外壳将被保留默认模式未膨胀的,除非你是zsh)。在中bash,您可能要shopt -s nullglob在循环之前使用

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

lpr打印具有不同名称和目录的文件

来自分类Dev

将来自不同目录的类似名称的文件分类为具有相同名称的单个文件

来自分类Dev

将文件拆分为N个具有相同名称但目标目录不同的文件

来自分类Dev

如何在不同目录中填充具有相同名称的可执行文件?

来自分类Dev

资产目录:访问不同文件夹中具有相同名称的图像

来自分类Dev

从文档目录中获取包含相同名称但具有不同扩展名的文件列表。

来自分类Dev

删除不同子目录中具有相同名称的文件夹的内容

来自分类Dev

缓存具有相同名称的图像的不同目录

来自分类Dev

cp文件到具有相同名称的文件的目录

来自分类Dev

重命名文件时,将具有相同名称但不同目录的文件复制到新目录中

来自分类Dev

搜索和删除具有不同名称的重复文件

来自分类Dev

搜索和删除具有不同名称的重复文件

来自分类Dev

在Python中删除具有不同名称的文件

来自分类Dev

如何仅查找具有不同名称的重复文件?

来自分类Dev

如何导入具有固定路径的不同名称的文件

来自分类Dev

如何将目录重新同步到具有不同名称的新目录?

来自分类Dev

mv:设备间移动使目录移动到具有相同名称的目录的操作不同吗?

来自分类Dev

使用目录名称作为列名称粘贴具有相同名称的单列文件

来自分类Dev

目录中可以有多个具有相同名称的文件/目录吗?

来自分类Dev

具有相同名称的不同应用?

来自分类Dev

如何在Django的不同目录中调用具有相同名称的模板?

来自分类Dev

如何使用 Git / SourceTree 在本地克隆具有不同名称的目录

来自分类Dev

列出具有相同名称的不同文件夹下的所有文件

来自分类Dev

递归移动具有不同名称和不同扩展名的文件

来自分类Dev

具有相同名称子目录的目录移动

来自分类Dev

如何编写一个makefile,其中已编译的目标文件位于另一个具有不同名称的目录中?

来自分类Dev

如何创建多个具有不同名称的文件并用Python写入文件

来自分类Dev

通过批处理复制具有不同名称和文件夹的文件

来自分类Dev

批处理文件-创建具有不同名称的多个文件

Related 相关文章

  1. 1

    lpr打印具有不同名称和目录的文件

  2. 2

    将来自不同目录的类似名称的文件分类为具有相同名称的单个文件

  3. 3

    将文件拆分为N个具有相同名称但目标目录不同的文件

  4. 4

    如何在不同目录中填充具有相同名称的可执行文件?

  5. 5

    资产目录:访问不同文件夹中具有相同名称的图像

  6. 6

    从文档目录中获取包含相同名称但具有不同扩展名的文件列表。

  7. 7

    删除不同子目录中具有相同名称的文件夹的内容

  8. 8

    缓存具有相同名称的图像的不同目录

  9. 9

    cp文件到具有相同名称的文件的目录

  10. 10

    重命名文件时,将具有相同名称但不同目录的文件复制到新目录中

  11. 11

    搜索和删除具有不同名称的重复文件

  12. 12

    搜索和删除具有不同名称的重复文件

  13. 13

    在Python中删除具有不同名称的文件

  14. 14

    如何仅查找具有不同名称的重复文件?

  15. 15

    如何导入具有固定路径的不同名称的文件

  16. 16

    如何将目录重新同步到具有不同名称的新目录?

  17. 17

    mv:设备间移动使目录移动到具有相同名称的目录的操作不同吗?

  18. 18

    使用目录名称作为列名称粘贴具有相同名称的单列文件

  19. 19

    目录中可以有多个具有相同名称的文件/目录吗?

  20. 20

    具有相同名称的不同应用?

  21. 21

    如何在Django的不同目录中调用具有相同名称的模板?

  22. 22

    如何使用 Git / SourceTree 在本地克隆具有不同名称的目录

  23. 23

    列出具有相同名称的不同文件夹下的所有文件

  24. 24

    递归移动具有不同名称和不同扩展名的文件

  25. 25

    具有相同名称子目录的目录移动

  26. 26

    如何编写一个makefile,其中已编译的目标文件位于另一个具有不同名称的目录中?

  27. 27

    如何创建多个具有不同名称的文件并用Python写入文件

  28. 28

    通过批处理复制具有不同名称和文件夹的文件

  29. 29

    批处理文件-创建具有不同名称的多个文件

热门标签

归档