做电子书管理的人大概都绕不开 Calibre——它既是格式转换的瑞士军刀,又是个人书库的编目系统,跨平台跑在 Linux、Windows 和 macOS 上,覆盖了查看、转换、编辑、分类所有主流格式的电子书。9.9 版本刚发布,改动不算大刀阔斧,但有一处细节修复了日常使用中一个反复出现的痛点:切换 Virtual Library 时搜索状态终于能保留了。
Virtual Library 切换时的搜索保留
之前的行为是这样的:你在某个 Virtual Library 下做了一轮搜索,筛选出了一批书,然后切换到另一个 Virtual Library——搜索条件被清空,结果归零,得重新输入。对于书库动辄上千本的用户来说,这很打断节奏。
9.9 在 Preferences → Searching 中新增了一个选项,开启后切换 Virtual Library 时会保留当前搜索词和筛选状态。这意味着你可以在不同子书库之间来回比对,而不必每次重新构造搜索。
这个选项默认关闭,需要手动开启。路径:Preferences → Searching → Preserve search when switching Virtual libraries。
命令行:Calibre 的隐藏生产力
很多人只用了 Calibre 的 GUI,但它的命令行工具 calibredb 和 ebook-convert 才是批量操作的真正引擎。下面给几个可以直接跑的例子。
批量转换格式
把书库中所有 .epub 文件批量转为 .mobi(适合老款 Kindle):
# 先列出书库中所有 epub 格式的书籍 ID
calibredb list --search format:epub --fields id,title,formats --with-library ~/myCalibreLibrary
# 批量转换:遍历 ID,逐本转成 mobi
for id in $(calibredb list --search format:epub --fields id --with-library ~/myCalibreLibrary | tail -n +2); do
ebook-convert ~/myCalibreLibrary/"$(calibredb list --search id:$id --fields path --with-library ~/myCalibreLibrary | tail -1)"/*.epub .mobi \
--output-path ~/myCalibreLibrary/"$(calibredb list --search id:$id --fields path --with-library ~/myCalibreLibrary | tail -1)"
done
运行前把
~/myCalibreLibrary替换成你自己的书库路径。tail -n +2是跳过calibredb list输出的表头行。
用自定义列做 Virtual Library 的命令行预演
Virtual Library 本质上是基于搜索条件保存的子视图。你可以用 calibredb 的 --search 参数模拟同样的筛选逻辑:
# 假设你有一个自定义列 #readstatus,值为 "已读" / "未读"
# 查看"已读"书籍
calibredb list --search "#readstatus:=已读" --fields title,authors --with-library ~/myCalibreLibrary
# 查看"未读"且格式为 epub 的书籍
calibredb list --search "#readstatus:=未读 and format:epub" --fields title,authors,formats --with-library ~/myCalibreLibrary
这种搜索语法和 GUI 中 Virtual Library 使用的完全一致,在命令行先验证条件无误,再回到 GUI 中保存为 Virtual Library,效率更高。
实用建议与注意事项
- 先升级再开新选项:9.9 的搜索保留选项需要升级后才能在
Preferences → Searching中看到,旧版没有这个开关。 - 批量操作优先用命令行:GUI 适合交互式管理,但批量转换、批量元数据修改用
calibredb和ebook-convert更可控,也更容易写进脚本定时执行。 - Virtual Library 的搜索语法值得花时间学:它支持
and/or/not组合、自定义列筛选、格式筛选,熟练之后比手动翻目录快得多。9.9 保留搜索状态后,多 Library 交叉比对变得可行。 - 跨平台同步注意路径差异:Calibre 书库可以在不同系统间共享(比如用 Syncthing 或 Git),但路径中的特殊字符和文件系统差异(Linux 的符号链接 vs Windows 的权限)偶尔会出问题,大批量操作前先在小样本上测试。
Calibre 9.9 不是里程碑式的大版本,但搜索保留这个小改动确实补上了日常使用的一个缺口。如果你书库规模已经超过几百本,值得升级后立刻开启这个选项试试。