在终端中,将多个文件夹合并为一个

2024-02-05

我有一个由 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...

仅备份已更改的内容,并且所做的第一个备份包含选择用于备份的所有文件。

我现在想做的是增量复制,同时保持文件夹结构,从最旧到最新,将每个带日期的文件夹复制到“合并”文件夹中,以便它覆盖旧内容并保留新内容。

例如,如果仅使用这两个示例文件夹,最终合并的文件夹将如下所示:

Merged
  My Documents
    Important Docs
      Taxes.doc
    Letter1.doc
  My Music
    Best Songs Every
      First Songs.mp3
    My Song.mp3 # modified 20100102

希望这是有道理的。

Thanks,

Josh


您可以在 bash for 循环中使用 rsync,例如:

$ for d in 2010* ; do rsync -av ./$d/ ./Merged/ ; done

请注意,在真正运行之前,您可能只想小心谨慎并测试它实际上会执行您想要的操作 - 为此,您可以使用 rsync-n标记进行“试运行”:

$ for d in 2010* ; do rsync -avn ./$d/ ./Merged/ ; done
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在终端中,将多个文件夹合并为一个 的相关文章

随机推荐

  • Angular 2 中的嵌套模板[重复]

    这个问题在这里已经有答案了 我有一个组件
  • 在 ClosedXML 中应用多个过滤器 (SetAutoFilter)

    我通过 ClosedXML 对多个列应用过滤器 但是 仅应用最后一项 这些过滤器在单独使用时会起作用 我怎样才能应用所有这些 我在这里发现了类似的问题ClosedXML Excel 按多列中的值过滤行 https stackoverflow
  • Chrome 扩展页面 popup.html 无法调整大小

    所以我有这个 Chrome 扩展程序 可以从互联网上加载一些内容 基本上 用户单击弹出图标 然后后台页面中的一些 JavaScript 加载一些页面 从中解析图像并将其放入 popup html 页面中 问题是 popup html 没有调
  • 在 C# 中扩展枚举

    我想知道是否可以扩展 C 中的 Enum 类型来实现我的自定义 Enum GetValues type 并像 Enum GetMyCustomValues type 那样调用它 我正在尝试实现这样的事情 public static bool
  • 使用 C++ 命名参数习惯用法的更好方法?

    我一直在为 Windows 开发一个 GUI 库 作为个人业余项目 不希望有用 对于我的主窗口类 我设置了选项类的层次结构 使用命名参数惯用语 http www parashift com c faq lite named paramete
  • Microsoft Edge:本地/会话存储无法在新选项卡中工作

    我正在开发一个托管在 Azure 中的 Web 应用程序 我在 MS Edge 版本 20 10525 0 0 上尝试过 但遇到了以下问题 我有一个带有 target blank 的链接 可以在新选项卡中打开页面 在该链接的点击事件中 我将
  • 将日期字符串转换为正确的格式

    我收到服务器的响应 并且需要将日期字符串转换为日期 2017 年 6 月 29 日星期四 07 15 25 0000 我正在尝试将字符串转换为人类可读的格式 谁能建议如何将此字符串转换为日期 您需要将日期字符串解析为Date对象使用Date
  • 可捕获的致命错误:类 mysqli 的对象无法转换为字符串

    所以我有一个问题 我对 PHP 非常陌生 并且在更新数据库上的字符串时遇到问题 它抛出了这个错误 Catchable fatal error Object of class mysqli Could not be Converted to
  • 获取类型的默认构造函数的最有效方法

    获取 System Type 的默认构造函数 即不带参数的实例构造函数 的最有效方法是什么 我正在思考下面的代码 但似乎应该有一种更简单更有效的方法来做到这一点 Type type typeof FooBar BindingFlags fl
  • 如何从对象中深度删除空值、空对象和空数组

    我有一个看起来像这样的对象 var myObject a b c d 2 e 2 f g h i null 2 我想删除空值和空对象 数组和对象 使其看起来像 a c d 2 e 2 i 2 该函数应删除空值 空对象和空数组 有什么优雅的方
  • 找出远程服务器上git的版本

    我正在本地计算机上寻找 git 命令 我可以运行该命令来查找远程服务器上运行的 git 版本 如果这可能的话 现代 git 服务器 始于git 1 7 12 1 https github com git git commit ff5effd
  • 运行Hadoop时如何避免OutOfMemoryException?

    我正在运行一个超过 1 5 TB 数据的 Hadoop 作业 并进行大量模式匹配 我有几台每台 16GB RAM 的机器 我总是得到OutOfMemoryException使用这些数据来完成这项工作 我正在使用 Hive 我想知道如何最佳设
  • 多行函数调用的左括号必须是该行的最后一个内容

    我在 PHP 文件中写入以下代码 public function ScriptsStyles wp enqueue style fontawesome plugins url css font awesome css FILE array
  • WPF:“名称”和“x:名称”之间有什么区别? [复制]

    这个问题在这里已经有答案了 可能的重复 在 WPF 中 x Name 和 Name 属性之间有什么区别 https stackoverflow com questions 589874 in wpf what are the differe
  • Android CoroutineScope 完成后自动取消

    我想知道是否coroutineScope工作完成后将自动取消 假设我创建了一个coroutineScope在自定义类中而不是 ViewModel类或Fragment Activity class class MyClass private
  • firebase存储cors奇怪的行为

    我正在构建一个应用程序 让用户看到一组缩小的图像 然后按 确定 让应用程序下载所有原始文件 将它们放入 zip 文件中并发送 zip 文件 该应用程序使用polymer polymerfire firebase 包括存储 在上传图像的过程中
  • 组合两个 Linq lambda 表达式

    Expression
  • 没有 AppBar 的 Flutter 布局

    我需要一个没有应用栏的布局 所以最明显的方法是省略appbar标签上的Scaffold但如果我这样做 内容就会出现在状态栏下方 如下所示 正如您所看到的 我的蓝色容器从状态栏下方开始 但事实并非如此 因此我必须手动设置容器的边距 这不太好
  • 在文件夹中查找最新文件并打开它(vba 访问)

    我正在尝试使用以下代码通过访问按钮宏打开文件夹中的最新文件 使用 if 语句进行测试 没有发现任何问题 但是一旦我使用了 do while 我就收到了运行时 6 溢出的错误消息 does len dir 不能使用循环 下面是我的代码 Pri
  • 在终端中,将多个文件夹合并为一个

    我有一个由 WDBackup 西部数据外置硬盘备份实用程序 创建的备份目录 其中包含每天备份的目录以及备份内容的增量内容 所以层次结构看起来像这样 20100101 My Documents Letter1 doc My Music Bes