Skypeのチャット履歴がSQLiteデータベースに保存されます。~/Library/Application Support/Skype/YourSkypeName/main.db
. コマンドラインのsqlite3
ツールを使って、チャットログを表示することができます。
チャットパートナーのユーザ名を調べる
ターミナルで以下のコマンドを実行すると(bash
シェルを使用していると思います)、すべてのチャットパートナーのユーザ名が表示されます:
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;"
これにより、以下のように、送信ユーザ名、表示名、日付、テキストを時系列で、1 行に 1 つのメッセージが表示されます。
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
を開いて、そこから実行することもできます。