Skype将其聊天记录存储在一个SQLite数据库中。~/Library/Application Support/Skype/YourSkypeName/main.db
. 你可以使用命令行sqlite3
工具来查看聊天记录。
查找聊天伙伴的用户名
在终端中使用以下命令(我假设你使用的是bash
shell)列出所有聊天伙伴的用户名:
sqlite3 /Users/danielbeck/Library/Application\ Support/Skype/YourSkypeName/main.db 'SELECT DISTINCT(dialog_partner) FROM Messages;'
提取与特定聊天伙伴的所有消息
选项A. 写入终端
要打印与某个聊天伙伴(theOtherPersonsUserName
)的所有消息,使用以下命令。
sqlite3 /Users/danielbeck/Library/Application\ Support/Skype/YourSkypeName/main.db "SELECT author, from_dispname, datetime(timestamp, 'unixepoch') as date, body_xml FROM Messages where dialog_partner = 'theOtherPersonsUserName' ORDER BY timestamp;"
这将按时间顺序每行打印一条消息,包括发送的用户名、显示名称、日期和文字,如下所示。
danielbecks-username|Daniel Beck|2012-02-03 08:47:53|Just testing something
选项 B. 写入文件
你可以直接将聊天记录写入文件。运行下面的程序将带有theOtherPersonsUserName
的日志写入文件theOtherPersonsUserName.log
。
sqlite3 /Users/danielbeck/Library/Application\ Support/Skype/YourSkypeName/main.db "SELECT author, from_dispname, datetime(timestamp, 'unixepoch') as date, body_xml FROM Messages where dialog_partner = 'theOtherPersonsUserName' ORDER BY timestamp;" > "theOtherPersonsUserName.log"
当然,你也可以在任何SQLite数据库查看器中打开main.db
,然后从那里开始。