Comment puis-je convertir des journaux .ichat en fichiers texte?


22

Comment convertir les fichiers de transcription iChat créés par Messages en fichiers texte lisibles par l'homme pouvant être ouverts sans l'application Messages?

Pour référence, ce sont les fichiers de conversation situés dans ~/Library/Messages/Archive.

L'ouverture simple des fichiers .ichat dans un éditeur de texte comprend un tas de chaînes et de hachages supplémentaires. Les ouvrir dans Messages et copier-coller dans un éditeur de texte fonctionne, mais je préfère automatiser le processus si possible.

Réponses:


12

Les fichiers que Messages enregistre ont une ichatextension de fichier.

Mais à partir de la ligne de commande, vous pouvez les inspecter pour voir qu'il s'agit en fait de fichiers plist binaires :

$ file transcript.ichat
transcript.ichat: Apple binary property list

Il s'avère que vous pouvez facilement convertir des fichiers plist binaires en documents XML lisibles par l'homme :

$ plutil -convert xml1 transcript.ichat

Maintenant, lorsque vous exécutez à filenouveau, vous pouvez voir que c'est un fichier XML:

$ file transcript.ichat
transcript.ichat: XML document text

Allez-y, ouvrez-le et voyez par vous-même:

$ open transcript.ichat

8

Si vous connaissez sqlite, vous pouvez simplement exporter les messages directement depuis la base de données sur Mountain Lion iMessage.

sqlite3 /Users/(username)/Library/Messages/chat.db

À partir de la base de données, vous pouvez envoyer des commandes sql pour obtenir tous les messages et les champs associés qui vous intéressent. De plus, vous pouvez modifier les paramètres de sortie pour écrire directement dans un fichier.

De plus, en plus de la base de données, toutes les photos sont stockées dans le dossier Pièces jointes.


3
Les transcriptions iChat ( .ichatfichiers) ne sont pas des bases de données SQLite.
Sean Moubry

7

Découvrez mon projet qui prendra toutes vos conversations et les convertira en un seul fichier texte lisible. Il ne convertira pas un seul iMessage, mais il collectera tous vos messages et pièces jointes, les sauvegardera et les mettra dans un format lisible par l'homme.

https://peterkaminski09.github.io/baskup


2
Fonctionne-t-il avec les fichiers journaux iChat?
nohillside

Il utilise vos fichiers journaux iChat trouvés dans votre ./Library/Messages/chat.db pour convertir en un fichier texte.
Peter Kaminski

Cela a bien fonctionné pour moi, merci! Je remarque que cela peut sauter le tout début de l'historique des messages si vous avez des conversations TRÈS longues (à moins qu'elles ne soient perdues à jamais si iMessage ne conserve pas tous les messages comme je le pensais). Néanmoins, le travail a toujours été fait!
Billy Bryce

Je pense que le principal problème que j'ai remarqué est que lorsque vous ouvrez votre macbook après avoir envoyé de nombreux messages sur votre téléphone, il y a ce délai entre iMessage sur mac et téléphone, ce qui entraîne la coupure des messages.
Peter Kaminski

Cela semble très utile, mais existe-t-il un moyen de supprimer les anciens messages une fois qu'ils ont été exportés / archivés / quoi que ce soit?
Paul R

1

J'ai créé un outil en ligne de commande pour convertir ces fichiers ichat en JSON séparé par des sauts de ligne

L'outil extrait les informations essentielles nues: message, expéditeur, date

Vous pouvez afficher le code source et / ou télécharger le binaire sur https://github.com/kfatehi/ichat2json


0

Si vous sélectionnez imprimer dans les menus de fichiers, lorsque la boîte d'impression s'ouvre dans le coin inférieur gauche se trouve un bouton pdf avec une liste déroulante. De là, vous pouvez enregistrer au format PDF, publier le script, envoyer un courrier électronique au format PDF ou envoyer à iTunes.


-1

Ce ne serait pas une solution parfaite, mais je remarque que les messages sont toujours entre Ä_et _$. Vous pouvez écrire un script pour extraire tout le texte qui a commencé et s'est terminé avec ces caractères. (n'importe quelle langue avec support rexex ferait l'affaire)


-1

Cela semble être une application idéale des flux de travail Automator ou AppleScript, car les deux peuvent faire un comportement de style "appuyez sur les boutons à l'écran". Vous diriez «prendre le fichier en entrée» et utiliser quelque chose sous «imprimer» ou «messages» s'il y en a un, ou utiliser AppleScript pour lui dire d'ouvrir le fichier et appuyer sur fichier et imprimer et enregistrer en pdf, puis fermez le fichier.


Pourriez-vous fournir une meilleure description de votre réponse. C'est suggestif mais ne montre aucune réponse particulière pour l'utilisateur avec des étapes.
Danijel-James W
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.