.İchat loglarını metin dosyalarına nasıl dönüştürebilirim?


22

Mesajların oluşturduğu iChat transkript dosyalarını, Mesajlar uygulaması olmadan açılabilen insan tarafından okunabilen metin dosyalarına nasıl dönüştürebilirsiniz?

Başvuru için, bunlar içinde bulunan konuşma dosyalarıdır ~/Library/Messages/Archive.

.İchat dosyalarını basitçe bir metin düzenleyicide açmak, bir sürü ek dizeler ve karmalar içerir. Bunları Mesajlar içinde açmak ve bir metin editörüne kopyalamak yapıştırmak işe yarar, ancak eğer mümkünse işlemi otomatik hale getirmeyi tercih ederim.

Yanıtlar:


12

Mesajların kaydettiği dosyalar bir ichatdosya uzantısına sahiptir.

Ancak komut satırından onları gerçekten ikili düzlem dosyaları olduklarını görmek için inceleyebilirsiniz :

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

Yapabilecekleriniz, çıkıyor kolayca okunabilecek şekilde XML belgeleri içine ikili Plist dosyalarını dönüştürme :

$ plutil -convert xml1 transcript.ichat

Şimdi, filetekrar çalıştırdığınızda , bunun bir XML dosyası olduğunu görebilirsiniz:

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

Devam et - aç ve kendin gör:

$ open transcript.ichat

8

Sqlite ile aşina iseniz, mesajları doğrudan Mountain Lion iMessage'daki veri tabanından verebilirsiniz.

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

Veritabanından ilgilendiğiniz tüm mesajları ve ilgili alanları almak için sql komutları gönderebilirsiniz. Ayrıca, çıktı ayarlarını doğrudan bir dosyaya yazacak şekilde değiştirebilirsiniz.

Ayrıca, veritabanına ek olarak, tüm fotoğraflar Ekler klasöründe saklanır.


3
iChat transkriptleri ( .ichatdosyalar) SQLite veritabanları değildir.
Sean Moubry,

7

Tüm konuşmalarınızı alacak ve bunları tek bir okunabilir metin dosyasına dönüştürecek olan projeme bakın. Yalnızca bir iMessage'ı dönüştürmez, ancak tüm iletilerinizi ve eklerinizi toplar, yedekler ve insan tarafından okunabilir bir biçime yerleştirir.

https://peterkaminski09.github.io/baskup


2
İChat log dosyaları ile çalışıyor mu?
nohillside

Bir metin dosyasına dönüştürmek için ./Library/Messages/chat.db dosyasında bulunan iChat günlük dosyalarınızı kullanır.
Peter Kaminski

Bu benim için iyi çalıştı, teşekkürler! ÇOK uzun süren konuşmalar varsa (eğer iMessage düşündüğüm gibi tüm mesajları saklamazsa sonsuza dek kaybolmazlarsa), mesaj tarihçelerinin en başından atlayabileceğini fark ettim. Yine de hala iş bitti!
Billy Bryce,

Sanırım fark ettiğim asıl sorun, macbook'unuzu telefonunuzda çok sayıda mesaj gönderdikten sonra açtığınızda, mac'ta ve iMessage arasında bir gecikme olması ve bu mesajların kesilmesine neden olmasıdır.
Peter Kaminski

Bu çok kullanışlı görünüyor, ancak eski mesajları dışa aktardıktan / arşivlendikten sonra veya başka bir şekilde silmenin bir yolu var mı?
Paul R


0

Dosya menülerinden yazdırmayı seçerseniz, sol alt kısımdaki yazdırma kutusu açıldığında aşağı açılır bir pdf düğmesi bulunur. Buradan pdf olarak kaydedebilir, script yazabilir, pdf olarak postalayabilir veya iTunes'a gönderebilirsiniz.


-1

Bu mükemmel bir çözüm olmaz, ancak mesajların her zaman Ä_ve arasında olduğunu fark ediyorum _$. Bu karakterlerle başlayan ve biten tüm metni çıkarmak için bir komut dosyası yazabilirsiniz. (rexex desteği olan herhangi bir dilde yapabilir)


-1

Bu, Automator iş akışları veya AppleScript için ideal bir uygulama gibi gözüküyor, çünkü ikisi de ekranda "tuşlara bas" tarzı davranış sergileyebiliyor. "Girdi olarak dosya al" deyin ve "yazdır" ya da "iletiler" in altında bir şeyler kullanın ya da bunlardan biri varsa AppleScript kullanarak dosyayı açmasını ve dosyaya basıp yazdırıp pdf olarak kaydetmeyi ve ardından dosyayı kapatın.


Cevabınızın daha iyi bir tarifini verebilir misiniz? Bu, düşündürücüdür, ancak adımlar için kullanıcı için belirli bir cevabı göstermez.
Danijel-James W
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.