Jos*_*ter 3 unix recursion merge command-line copy
我有一个由WDBackup(西部数字外部高清备份工具)创建的备份目录,其中包含备份的每一天的目录以及备份内容的增量内容.
层次结构如下所示:
20100101
My Documents
Letter1.doc
My Music
Best Songs Every
First Songs.mp3
My song.mp3 # modified 20100101
20100102
My Documents
Important Docs
Taxes.doc
My Music
My Song.mp3 # modified 20100102
...etc...
Run Code Online (Sandbox Code Playgroud)
仅备份已更改的内容,并且所做的第一个备份包含选择用于备份的所有文件.
我现在要做的是逐步复制,同时保持文件夹结构,从最旧到最新,每个这些日期文件夹到一个'合并'文件夹,以便它覆盖旧内容并保留新内容.
例如,如果只使用这两个示例文件夹,最终合并的文件夹将如下所示:
Merged
My Documents
Important Docs
Taxes.doc
Letter1.doc
My Music
Best Songs Every
First Songs.mp3
My Song.mp3 # modified 20100102
Run Code Online (Sandbox Code Playgroud)
希望有道理.
谢谢,
玩笑
您可以在bash for循环中使用rsync,例如:
$ for d in 2010* ; do rsync -av ./$d/ ./Merged/ ; done
Run Code Online (Sandbox Code Playgroud)
请注意,在真正运行之前,您可能只是要谨慎并测试它实际上会按照您的意愿执行 - 为此您可以使用rsync的-n标志执行"干运行":
$ for d in 2010* ; do rsync -avn ./$d/ ./Merged/ ; done
Run Code Online (Sandbox Code Playgroud)