首先,我要澄清一下:我并不是想在我的设备上查找和合并/删除重复的联系人。我只是在处理两个有共同联系人的 VCF。
为了便于理解,我有两个 VCF,我将分别称为all.vcf
和unwanted.vcf
。其中all.vcf
有我想从中删除的联系人unwanted.vcf
。本质上,我想执行all.vcf
减法unwanted.vcf
并最终得到my_contacts.vcf
。
从技术上讲,这些操作是可以完成的,但我还没有找到任何可以读取和比较多个 VCF 的程序,因此才有这个问题。如果有人知道任何可以执行所需操作的软件,请告诉我。或者,如果解决方案是编写类似 Python 脚本的东西,是否有任何相关的库可以实现读取 VCF?
注意:为了便于理解,我通过 WhatsApp 收到了一份 VCF,我想打开并查看其内容。但是,所有联系人都被添加到了我的设备中,而且无法撤消大约 6000 个联系人的添加。
可能的并发症可能是由于 VCF 版本不匹配,因为all.vcf
Android 导出和unwanted.vcf
iCloud 导出都是如此。我不知道他们输出的是什么版本,以及他们是否输出没有专有/自定义字段的标准 VCF,这可能会搞砸事情。
.vcf文件,无论是来自 Mac OS、Android、Windows、Linux 还是其他来源,都只是一个包含可读文本的列表,可以在任何文本编辑器中查看和编辑,例如 Linux Kate或 Windows Notepad++。
.vcf中的一个项目的示例 如下所示:
虽然您可以手动比较.vcf文件,但也有许多工具可帮助区分和合并文件,这些工具对文本特别有效,例如Windows 版WinMerge 、Linux 版Meld以及许多其他替代方案。
要从all.vcf中删除unwanted.vcf中的所有项目,请使用WinMerge 之类的过滤器来选择在两者中找到的项目,然后删除all.vcf中选定的所有内容。
注意: 复制这两个文件,然后使用这些副本进行操作。在使更改永久生效之前,请在手机或其他设备上检查您编辑的.vcf 。