AnKindle导入生词卡死的补救方法
Kindle 5.8.9.2 系统的生词本有bug,一些单词通过单词本删除了之后在vocal.db
数据库文件中还是能查到,但是在Kindle生词本里找不到了。就因为这个原因,导致我用AnKindle插件导入生词到Anki时出错。
这种情况下,需要在vocal.db
数据库文件中删除这些本应该被删除的单词。要打开vocal.db
数据库,首先需要使用sqlite工具,Mac上自带sqlite3,下面说说Mac上如何使用sqlite。
要想操作.db
数据库文件,先要打开sqlite。
1 | sqlite3 |
接下来,定位到vocal.db
数据库文件的路径,使用.open
命令打开数据库文件。
1 | cd /Volumn/KINDLE/system/vocabulary/ |
以下是我常用的sqlite命令
1 | .help 帮助信息 |
Kindle中的生词保存在WORDS
表里,我发现那些没有通过生词本删除的单词都有一个特征,都带有'
单引号,比如weren't
。要想删除这类单词,需要使用''
两个单引号来定位单词
1 | delete from WORDS where id = 'en:weren''t'; |
还有一个AnKindle导入生词卡死的补救技巧,通过观察在第几个卡死,记录下这个数,比方说我卡死在第831个。
1 | select * from WORDS as w left join LOOKUPS as l on w.id = l.work_key limit 831; |
最后一个显示的单词就是有问题的单词。
将这些本应该删除的单词全部清理完毕后,再次倒入AnKindle就没问题了。