可在Mac上用正则替换或Automator脚本批量为Safari/Chrome导出的bookmarks.html中所有href链接追加?ref=macbook后缀:先用Notepad++等支持正则的编辑器替换HREF="(1*)"为HREF="$1?ref=macbook",再以UTF-8编码导入;或用Automator封装shell脚本实现多文件一键处理。" ↩

想在Mac上批量给Safari或Chrome导出的书签HTML文件里所有网址统一加后缀(比如追加?ref=macbook),避免逐个编辑几十个书签的麻烦,就得绕过浏览器界面,直接处理原始HTML结构。
用文本编辑器批量修改书签HTML文件
这一步必须用支持正则替换的编辑器,Notepad++、BBEdit或VS Code均可;系统自带的TextEdit不支持正则,会失败。
1、在Safari中导出书签:【文件】→【导出书签】→保存为bookmarks.html(注意别用“从其他浏览器导入”功能生成的SBF格式)。
2、用Notepad++打开该HTML文件,按Ctrl+H调出替换窗口,勾选【正则表达式】模式。
3、在“查找内容”栏粘贴:HREF="([^"]*)";在“替换为”栏输入:HREF="$1?ref=macbook"。
4、点击【全部替换】——此时所有标签的href地址末尾都已加上?ref=macbook,但【务必检查是否误改了书签文件夹名称或JS脚本里的HREF字符串】,否则导入后会出现空文件夹或跳转异常。
5、保存文件,关闭Notepad++。
在Safari中重新导入修改后的书签
导入前必须确认HTML文件编码为UTF-8,否则中文书签名会变成乱码,且Safari会静默跳过整段损坏节点。
方法一:直接拖入Safari窗口
把修改好的bookmarks.html文件直接拖到已打开的Safari窗口任意位置,松手后自动弹出导入确认框,点击【添加】即可。
方法二:通过菜单导入
打开Safari → 顶部菜单【文件】→【导入书签】→ 选择刚保存的HTML文件 → 点击【打开】。
导入完成后,立即打开【书签】→【编辑书签】,展开任意一级文件夹,随机点开2~3个链接,确认地址栏末尾确实带有?ref=macbook——若没有,说明正则替换未生效或被浏览器过滤,需返回Notepad++重新执行第4步。
用Automator + Shell脚本全自动处理多个HTML书签文件
当你有10个以上不同项目导出的bookmarks.html需要统一加后缀,手动开编辑器太慢,用Automator封装成一键操作更可靠。
第一步:创建Shell脚本
打开终端,执行:nano ~/add_suffix_to_bookmarks.sh,粘贴以下内容:
#!/bin/bash<br>for f in "$@"; do<br> sed -i '' 's/HREF="https://www.php.cn/link/4a33edb840d8caeb24bbcb1b0ce1d8d7"]*\)"/HREF="\1?ref=macbook"/g' "$f"<br>done
按Ctrl+O保存,Ctrl+X退出。再运行chmod +x ~/add_suffix_to_bookmarks.sh赋予执行权限。
第二步:新建Automator应用
① 打开Automator → 新建【应用程序】→ 左侧搜索“运行Shell脚本”,拖入工作流区域。
② 在Shell脚本框内粘贴:~/add_suffix_to_bookmarks.sh "$@"。
③ 保存为“批量加书签后缀.app”。
第三步:批量拖入处理
把所有待处理的bookmarks.html文件,一次性拖到这个.app图标上——脚本会逐个修改每个文件,不弹窗、不提示,完成后原文件即已更新。


















