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 |テストするだけ
オプション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"
もちろん、main.db
任意のSQLiteデータベースビューアーで開いてそこから移動することもできます。