mac下导出kindle单词本的单词
平常都是用kindle来看电子书,偶尔也会看上一些英文书籍,不可避免的会遇到不少陌生的单词,而kindle专门针对这种需求,做了不少优化,可以直接在kindle上面查阅单词,甚至可以背单词。但是毕竟不是专门的英语学习工具,在复习陌生单词方面还是不够专业(例如不能发音是个硬伤),就想着导出单词到别的软件上复习。
而在mac下苦于不能直接用kindle mate这款软件(我一次都没有用过这个软件,只是看到网上评论和使用比较多),我也懒得去在windows虚拟机上面间接使用。一顿搜索之下,发现在mac下并没有直接导出kindle单词本的软件可提供使用。
经过一番思考,既然有第三方软件能够支持读取单词本这种功能,必然是存在方法在kindle上去获取单词本的数据。
直接将kindle通过usb链接到手机上,你会发现挂载了一个documents的文件夹,我在这个文件夹找了一圈,愣是没有找到。想着会不会有什么隐藏文件夹呢?

通过cd进入kindle的挂载盘,我发现除了documents文件夹外,还有一个叫做system的文件夹。顿时感觉有戏。层层递进,不负众望,在/Volumes/Kindle/system/vocabulary目录下,找到了vocab.db这个文件。

vocab.db是一个sqlite文件,如果你没有打开sqlite文件的软件可以下载一个SqliteBrowser。
SqliteBrowser是开源免费的Sqlite数据库文件查看软件
通过SqliteBrowser可以直接看到到vocab.db的数据库下面的表

在SqliteBrowser软件的Browse Data栏下,通过查看数据发现了两个有实际意义的数据表


其中LOOKUPS表里面就是对应的你在那本书那块地方查询的这个单词的相关记录(在kindle里面背单词可以看得到相关的数据)。
WORDS表就是我们单词本里面的所有单词数据了。
到这里,也宣告正式找到了kindle单词本的数据所在了。既然知道了数据在哪里了,剩下的导出就简单的多了,我只需要单词的txt文本,以便导入别的背单词软件,虽然可以通过软件直接导出,不过这种方式的复用性不够强。(考虑到导出单词是一个周期性的工作)
平时软件开发过程中,其实都已经安装好了sqlite3这个库,可以直接考虑用命令行来实现这个工作流程。
cp /Volumes/Kindle/system/vocabulary/vocab.db ~/
sqlite3 ~/vocab.db "select word from words;" >> kindlewords.txt
将这两行shell命令保存成sh文件,这样我将kindle插入电脑的时候直接运行一下命令就可以直接得到我所需要的txt文件了,既简单又优雅。
后续考虑将整个流程自动化,从拷贝单词本到导入单词到相关的软件中。
mac下导出kindle单词本的单词的更多相关文章
- Mac下导出chrome插件
chrome最强大的功能之一就是插件,有时候需要给小伙伴们共享一些插件,所以需要将自己chrome中的插件打包,在mac下打包插件还是挺费劲的,在此记录. 打开chrome的扩展程序,找到要导出的插件 ...
- mac下导出JetBrains IDE Support插件给linux
自从google被和谐以后,上google的store安装插件是如此的费劲,好在mac下的chrome已经装好了,直接导出给linux就可以 mac下chrome的插件目录为 ~/Library/Ap ...
- Mac下Android配置及unity3d的导出Android
昨晚实在弄的太晚了,费尽脑汁才弄出来. ok,关于mac下的eclipse的安卓配置,我仅仅贴一个网址,就ok了 http://developer.android.com/sdk/index.html ...
- mac下查看.mobileprovision文件及钥匙串中证书.cer文件
mac下查看.mobileprovision文件及钥匙串中证书.cer文件 一. mobileprovision文件查看 xxx.mobileprovision是ios开发中的设备描述文件,里面有证书 ...
- MAC下Eclipse的常用快捷键
整理Eclipse常用快捷键 开发环境切换到Mac下后原来Window下的快捷键很大一部分是不相容的,习惯了快捷键的生活忽然哪天快捷键不起作用了,跟着的就是开发效率明显降低,频繁录入错误的快捷键让Ec ...
- 整理MAC下Eclipse的常用快捷键
整理Eclipse常用快捷键 开发环境切换到Mac下后原来Window下的快捷键很大一部分是不相容的,习惯了快捷键的生活忽然哪天快捷键不起作用了,跟着的就是开发效率明显降低,频繁录入错误的快捷键让Ec ...
- cocos2d-x 3.6 mac下的试用(粒子,触摸事件,图片)
戏说 虽然公司再如何如何,咱程序员在干好课外学习的情况下也是要努力做好本职工作的. 工作中的lua也写多了,深入了解Cocos2d-x当然还是要倒腾倒腾C++,对于一个C#用了这么多年,工作用lua的 ...
- Mac下的利器们介绍
先说说一些快捷键吧,从windows下过来还不很习惯: ctrl + 开关 关机等提示 ctrl+shift+开关 关闭显示器 cmd+option+v 相当于剪贴 cmd+tab,对于最小化了的窗口 ...
- 在mac下安装jdk1.7(转)
转自:http://vela.diandian.com/post/2012-01-06/15379924 最近呢,想玩玩jdk1.7,不过mac平台下的jvm一直都是Apple自己改的,所有有些麻烦. ...
随机推荐
- Mysql基于GTID主从复制
Mysql5.6基于GTID全局事务的复制 什么是GTID? GTID(Global Transaction Identifiers)是全局事务标识 当使用GTIDS时,在主上提交的每一个事务都会 ...
- android怎么打开wifi的组播功能
http://android.tgbus.com/Android/tutorial/201204/418987.shtml
- struts2.0 s标签_小小鸟_百度空间
struts2.0 s标签 1. Struts2页面开发中常用标签使用说明 1.1.往action里传值的使用方式: <input name="userName" type= ...
- seajs的常用api简易文档
目前使用sea.js的公司越来越多, 比如朋友网,阿里巴巴,淘宝网,百姓网,支付宝,有道云笔记等.模块化的javascript开发带来了可维护,可扩展性,尤其在多人协作开发的时候不用再担心文件依赖和函 ...
- 使用for循环输出空心的菱形的思路-还是没有办法理解
之前已经成功写过一次代码,今天重新看这个题目时,一下子又没了思路,在草稿纸上比划了大概十分钟才想到实现的思路.思路跟上次实现的完全一样,发现时间长了就忘记了!真是好记性不如烂笔头,何况我这么差的记性呢 ...
- 通过 File API 使用 JavaScript 读取文件
原文地址:http://www.html5rocks.com/zh/tutorials/file/dndfiles/ 简介 HTML5 终于为我们提供了一种通过 File API 规范与本地文件交互的 ...
- Eclipse中GIT插件更新工程到之前版本
因为之前好多次因为对项目文件删除后,发现删除的文件里有些功能模块还是需要的,所以需要恢复到之前的版本.但是一直不知道怎么操作才能恢复到之前版本,索性就直接把工程删了,重新导入,但是这太暴力了,所以看了 ...
- iOS8推送消息的快速回复处理
http://blog.csdn.net/yujianxiang666/article/details/35260135 iOS8拥有了全新的通知中心,有全新的通知机制.当屏幕顶部收到推送时只需要往下 ...
- FZU 1054 阅读顺序
水题,倒着输出. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm& ...
- 网络IO模型
同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出 ...