必须按域名本质归并清理冗余书签:先用边栏“按名称”排序聚堆同源项,再手动删除200条内重复;超500条则导出html,用vs code正则或终端命令提取主域名统计频次,识别并清理重复主域。

你在Safari书签里看到“GitHub”“GitHub官方”“github.com”“GitHub - Code Hosting”全挤在同一个文件夹里,点开却都跳转到 github.com;还有“知乎”“Zhihu”“知乎专栏”“zhihu.com”混杂排列——这些不是真正独立的分类,而是同一域名被不同命名方式反复创建的冗余入口,必须按域名本质归并清理。
用边栏拼音排序快速聚堆同源域名
这一步不删任何内容,但能让所有以相同字母或汉字开头的书签物理靠拢,把“GitHub”“gitlab.com”“Google”扎堆排在顶部,“知乎”“zhihu”“Zhihu”挤在同一段,一眼锁定重复高发区。
打开 Safari,按 Command + Shift + B 呼出书签侧边栏。
确保边栏顶部显示的是“书签”,不是某个子文件夹。
鼠标移到边栏任意书签上 → 右键 → 选择“排序方式” → 点击“按名称”。
注意:中文书签会按拼音首字归类,“百度”“B站”“博客园”各自成簇;英文则按字母顺序,“apple.com”“Apple Developer”“App Store”自动相邻——若某段连续出现3个以上含“github”或“zhihu”的条目,就是你要重点核查的域名重复簇。
手动批量删除重复域名入口(200条以内适用)
适用于重复集中在单个文件夹、总数不超过200条、且你能肉眼确认URL指向同一主域的情况。图形界面下比对准确率高,还能精确控制留哪条、删哪条。
按 Option + Command + B 打开书签管理器窗口。
左侧边栏中,逐个展开目标文件夹(例如“开发常用”“日常工具”),右侧实时列出所有条目。
按住 Command 键,逐一单击所有指向同一主域的书签(如都含 github.com、zhihu.com、notion.so 的条目)。
若该文件夹内书签密集排列,建议改用 Shift 键连续选中:先点第一条 → 按住 Shift → 再点最后一条,区间内全部选中,比 Command 点更快。
右键任一已选中项 → 选择“删除” → 在弹窗中点击“删除”。
导出HTML后用正则提取主域名去重(500条以上必用)
当书签超500条,或存在“https://github.com/username/repo”“https://www.github.com”“https://github.com/”这类路径不同但主域一致的情况,图形界面无法识别,必须解析原始结构。
方法一:快速定位高频主域名重复
Safari菜单栏 → 书签 → 导出书签,保存为 Bookmarks.html 到桌面。
用 VS Code 打开该文件(勿用预览模式,必须以纯文本方式读取)。
按 Command + F,输入正则表达式:https?://(?:www\.)?([^/\s]+) → 启用正则模式(.*按钮)→ 回车匹配。
VS Code 将高亮所有 URL 中的主域名部分(如 github.com、zhihu.com),你可直接观察哪些域名重复出现3次以上——这就是真实冗余的信号。
方法二:用终端命令批量统计主域名频次
打开「终端」,输入以下命令并回车:
grep -o 'HREF="[^"]*"' ~/Desktop/Bookmarks.html | sed 's/HREF="//; s/"$//' | sed -E 's|https?://(www\.)?([^/\?]+).*|\2|' | sort | uniq -c | sort -nr
该命令会输出类似:
5 github.com
4 zhihu.com
3 notion.so
数值大于1的即为重复主域,对应条目需人工核对并清理。
【操作前务必备份 Bookmarks.html,误删原始文件将导致无法还原】











