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自己改的,所有有些麻烦. ...
随机推荐
- LVS详解
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- H5手机开发锁定表头和首列(惯性滚动)解决方案
前端时间移动端在做表格的时候需要这个功能,由于还有实现类似原生的惯性滚动功能,于是使用了iscroll插件. iscroll插件下载地址:iscroll5 该功能demo github地址: http ...
- POJ 2653 Pick-up sticks
计算几何,判断线段相交 注意题目中的一句话:You may assume that there are no more than 1000 top sticks. 我认为是没有描述清楚的,如果不是每次 ...
- 《Android学习指南》目录
源:<Android学习指南>目录 Android学习指南的内容分类: 分类 描述 0.学习Android必备的Java基础知识 没有Java基础的朋友,请不要先看Android的课程,这 ...
- HDU 5620 KK's Steel
想了一下发现是斐波那契数列.....水题 #include <stdio.h> #include <algorithm> #include <string.h> # ...
- highcharts柱状图和饼图的数据填充
1.其实数据填充很简单,它们就是json的格式,然后后台按照这种格式去套数据发给前端:前端再做一下连接处理等就行了. $('#program_statistics_bar').highcharts({ ...
- iOS调用另一个程序
在 iOS 里,程序之间都是相互隔离,目前并没有一个有效的方式来做程序间通信,幸好 iOS 程序可以很方便的注册自己的 URL Scheme,这样就可以通过打开特定 URL 的方式来传递参数给另外一个 ...
- MVP学习笔记——参考Google官方demo
demo地址:https://github.com/googlesamples/android-architecture 在这个项目里,每个包的分工都很明确,大体上来说,一个包会对应一个界面.一个界面 ...
- java 测试IP
public static long calSpeed(String ip) { Runtime runtime = Runtime.getRuntime(); // 获取当前程序的运行进对象 Pro ...
- jenkins 构建时,取消构建测试类
如图 点击配置,添加clean install -Dmaven.test.skip=true 保存即可