Як я можу конвертувати .ichat журнали у текстові файли?


22

Як конвертувати файли стенограми iChat, які створює Messages, у текстові файли, прочитані людиною, які можна відкрити без програми Messages?

Для довідки, це файли розмов, розташовані в ~/Library/Messages/Archive.

Просто відкриття .ichat файлів у текстовому редакторі включає в себе купу додаткових рядків і хешей. Відкриття їх у "Повідомленнях" та копіювання в текстовий редактор працює, але я вважаю за краще автоматизувати процес, якщо це можливо.

Відповіді:


12

Файли, які зберігає Повідомлення, мають ichatрозширення.

Але з командного рядка ви можете ознайомитись з ними, щоб побачити, що вони насправді є бінарними списками файлів:

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

Виявляється, ви можете легко конвертувати бінарні файли плістів у читані людиною XML документи :

$ plutil -convert xml1 transcript.ichat

Тепер, коли ви fileзнову запустите , ви бачите, що це файл XML:

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

Вперед - відкрийте його та переконайтесь у цьому:

$ open transcript.ichat

8

Якщо ви знайомі з sqlite, ви можете просто експортувати повідомлення безпосередньо з бази даних на Mountain Lion iMessage.

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

З бази даних ви можете надіслати команди sql, щоб отримати будь-які повідомлення та пов’язані з вами поля, які вас цікавлять. Крім того, ви можете змінити параметри виводу для запису безпосередньо у файл.

Також, крім бази даних, всі фотографії зберігаються у папці «Додатки».


3
Стенограми iChat ( .ichatфайли) не є базами даних SQLite.
Шон Мубрі

7

Перевірте мій проект, який прийме всі ваші розмови та перетворить їх в один читаний текстовий файл. Він не буде конвертувати лише один iMessage, але він збиратиме всі ваші повідомлення та вкладення, створює резервну копію та розміщує їх у читаному для людини форматі.

https://peterkaminski09.github.io/baskup


2
Чи працює з файлами журналів iChat?
nohillside

Він використовує ваші файли журналу iChat, знайдені у вашому ./Library/Messages/chat.db для перетворення в текстовий файл.
Петро Камінський

Це добре працювало для мене, дякую! Я зауважую, що це може пропустити в самому початку історії повідомлень, хоча якщо у вас ДУЖЕ довгі розмови (якщо тільки вони не втрачені назавжди, якщо iMessage не зберігає всі повідомлення, як я думав). Тим не менш, все-таки виконали роботу!
Біллі Брайс

Я думаю, що головна проблема, яку я помітив, полягає в тому, що коли ви відкриваєте свою книгу macbook після того, як надіслали багато повідомлень на свій телефон, між iMessage на mac і телефоні виникає затримка, і це призводить до того, що повідомлення відключаються.
Петро Камінський

Це виглядає дуже корисно, але чи є спосіб видалити старіші повідомлення, як тільки вони були експортовані / заархівовані / що завгодно?
Пол Р

1

Я створив інструмент командного рядка для перетворення цих файлів ichat в JSON, відокремлений новим рядком

Засіб витягує неодмінну важливу інформацію: повідомлення, відправника, дату

Ви можете переглянути вихідний код та / або завантажити двійковий код за посиланням https://github.com/kfatehi/ichat2json


0

Якщо ви виберете друк з меню файлів, коли вікно друку відкриється внизу ліворуч, це кнопка pdf зі спадним меню. Звідси ви можете зберегти як pdf, пост скрипт, пошту як pdf або надіслати в iTunes.


-1

Це не було б ідеальним рішенням, але я помічаю, що повідомлення завжди знаходяться між Ä_і _$. Ви можете написати сценарій для вилучення всього тексту, який починався і закінчувався цими символами. (будь-яка мова з підтримкою rexex зробить)


-1

Це здається ідеальним застосуванням робочих процесів Автоматизатора або AppleScript, оскільки обидва з них можуть виконувати поведінку стилю "натискання кнопок на екрані". Ви б сказали "взяти файл як вхідний", і використовуйте щось під "надрукувати" або "повідомлення", якщо є одне з них, або скористайтеся AppleScript, щоб сказати, щоб відкрити файл і натиснути файл, друкувати та зберігати як pdf, а потім закрити файл.


Чи можете ви надати кращу характеристику своєї відповіді. Це сугестивно, але не відображає конкретної відповіді для користувача кроками.
Danijel-James W
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.