Come posso convertire i log .ichat in file di testo?


22

Come si convertono i file di trascrizione iChat creati da Messaggi in file di testo leggibili dall'uomo che possono essere aperti senza l'app Messaggi?

Per riferimento, questi sono i file di conversazione situati in ~/Library/Messages/Archive.

La semplice apertura dei file .ichat in un editor di testo include una serie di stringhe e hash aggiuntivi. Aprirli in Messaggi e incollarli in un editor di testo funziona, ma preferirei automatizzare il processo, se possibile.

Risposte:


12

I file salvati da Messaggi hanno ichatun'estensione.

Ma dalla riga di comando puoi ispezionarli per vedere che in realtà sono file binari di plist :

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

Si scopre che puoi facilmente convertire i file bin plist in documenti XML leggibili dall'uomo :

$ plutil -convert xml1 transcript.ichat

Ora, quando esegui di filenuovo, puoi vedere che è un file XML:

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

Vai avanti: aprilo e vedi di persona:

$ open transcript.ichat

8

Se hai familiarità con sqlite, puoi semplicemente esportare i messaggi direttamente dal database su Mountain Lion iMessage.

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

Dal database, puoi inviare comandi sql per ottenere tutti i messaggi e i campi associati che ti interessano. Inoltre, è possibile modificare le impostazioni di output per scrivere direttamente in un file.

Inoltre, oltre al database, tutte le foto sono archiviate nella cartella Allegati.


3
Le trascrizioni ( .ichatfile) di iChat non sono database SQLite.
Sean Moubry,

7

Dai un'occhiata al mio progetto che prenderà tutte le tue conversazioni e le convertirà in un file di testo leggibile. Non convertirà solo un singolo iMessage, ma raccoglierà tutti i tuoi messaggi e allegati, eseguirà il backup e li metterà in un formato leggibile dall'uomo.

https://peterkaminski09.github.io/baskup


2
Funziona con i file di registro iChat?
Nohillside

Usa i tuoi file di log iChat trovati nel tuo ./Library/Messages/chat.db per convertire in un file di testo.
Peter Kaminski,

Questo ha funzionato bene per me, grazie! Ho notato che può saltare l'inizio della cronologia dei messaggi anche se hai conversazioni MOLTO lunghe (a meno che non vengano perse per sempre se iMessage non conserva tutti i messaggi come pensavo). Tuttavia ha ancora fatto il lavoro!
Billy Bryce,

Penso che il problema principale che ho notato sia che quando apri il tuo macbook dopo aver inviato molti messaggi sul tuo telefono, c'è un ritardo tra iMessage su Mac e telefono, e questo fa sì che i messaggi vengano tagliati.
Peter Kaminski,

Sembra molto utile, ma c'è un modo per eliminare i messaggi più vecchi una volta che sono stati esportati / archiviati / qualunque cosa?
Paul R

1

Ho creato uno strumento da riga di comando per convertire questi file ichat in JSON separati da nuova riga

Lo strumento estrae le informazioni essenziali nude: messaggio, mittente, data

Puoi visualizzare il codice sorgente e / o scaricare il file binario su https://github.com/kfatehi/ichat2json


0

Se si seleziona stampa dai menu dei file, quando la casella di stampa si apre in basso a sinistra è presente un pulsante pdf con un menu a discesa. Da qui è possibile salvare come pdf, pubblicare script, inviare posta come pdf o inviare a iTunes.


-1

Questa non sarebbe una soluzione perfetta, ma noto che i messaggi sono sempre tra Ä_e _$. Potresti scrivere una sceneggiatura per estrarre tutto il testo che è iniziato e finito con quei caratteri. (qualsiasi lingua con supporto rexex farebbe)


-1

Questa sembra un'applicazione ideale dei flussi di lavoro di Automator o AppleScript, poiché entrambi possono eseguire comportamenti in stile "premi pulsanti sullo schermo". Diresti "prendi il file come input" e utilizzi qualcosa sotto "stampa" o "messaggi" se ce ne sono uno o usi AppleScript per dirgli di aprire il file e premere il file e stampare e salvare come pdf e poi chiudi il file.


Potresti fornire una descrizione migliore della tua risposta. È suggestivo ma non mostra alcuna risposta particolare per l'utente con passaggi.
Danijel-James W,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.