【问题标题】:mac: compare two folders, extract non-identical photos onlymac:比较两个文件夹,只提取不相同的照片
【发布时间】:2014-06-10 12:29:10
【问题描述】:

我一直在寻找 S.O.比较两个文件夹以仅提取“新”或“不相同”照片的方法。我有两个大文件夹,我只想要新文件,我需要识别它们。有没有办法做到这一点?还是申请?

情况:用iOS8,我试了一下,然后我又回到了iOS711。但我最近的备份(我在升级到 iOS8 之前所做的备份)已损坏,因为我做了降级。 现在,我从最近的备份中获得了我的 iOS 照片的副本(我不得不使用备份提取器从中提取照片),但我也有一个月前的备份中的照片,这些照片在我放弃后恢复到手机中损坏的和最近的备份。

我现在有两组照片库。一张是最新的照片(无法通过 iTunes 在 iPhone 中恢复),一张是一个月前的照片库(可以通过 iTunes 轻松恢复到我的 iPhone)。

我从两个备份中提取了照片,最终得到了两个目录。我只需要新照片(两个文件夹之间的区别)。

我希望它现在更清晰、更详细。

非常感谢!

【问题讨论】:

  • NSFileManager 具有返回目录中项目列表的方法,如果这是您想要比较的内容。不过,也许您应该定义“不相同”的含义。
  • @PhillipMills 感谢您的评论。我有两个文件夹,一个有项目:1,2,3,4,5,另一个文件夹有项目:1,2,4 我需要比较两个文件夹,并提取其中没有相同对等项的项目另一个文件夹。所以,结果应该是:3 & 5。希望我已经解释过了好吗?

标签: macos directory


【解决方案1】:

你能通过 homebrew 或 macports 安装duff 吗?如果是这样,以下内容应为您提供仅出现一次的文件列表:

$ duff -r -f '' folder1 folder2 | sort > duplicate_files.txt
$ find folder1 folder2 -print | sort > all_files.txt
$ diff all_files.txt duplicate_files.txt | grep '^< ' | cut -c 3-

【讨论】:

    【解决方案2】:

    如果您不想安装其他软件包,这也可以:

    sort <(ls dir1) <(ls dir2) | uniq -u
    

    这将对两个目录中的文件列表进行排序,然后仅返回仅出现一次的项目。如果您还想返回这些文件的位置,则可以搜索它们。

    这会按名称比较文件,这可能是不可取的。如果你想用其他东西(例如大小)来比较它们,那么答案会变得有点复杂。

    【讨论】:

      猜你喜欢
      • 2022-11-02
      • 2012-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-05
      • 1970-01-01
      • 1970-01-01
      • 2018-10-13
      相关资源
      最近更新 更多