Làm cách nào tôi có thể chuyển đổi nhật ký .ichat thành tệp văn bản?


22

Làm cách nào để chuyển đổi các tệp bản ghi iChat mà Tin nhắn tạo thành các tệp văn bản có thể đọc được mà không cần ứng dụng Tin nhắn?

Để tham khảo, đây là các tệp hội thoại nằm trong ~/Library/Messages/Archive.

Chỉ cần mở các tệp .ichat trong trình soạn thảo văn bản bao gồm một chuỗi các chuỗi và băm bổ sung. Mở chúng trong Tin nhắn và dán sao chép vào trình soạn thảo văn bản, nhưng tôi muốn tự động hóa quy trình nếu có thể.

Câu trả lời:


12

Các tệp mà Tin nhắn lưu có ichatphần mở rộng tệp.

Nhưng từ dòng lệnh, bạn có thể kiểm tra chúng để xem họ thực sự là nhị phân plist file:

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

Hóa ra, bạn có thể dễ dàng chuyển đổi các tệp plist nhị phân thành các tài liệu XML có thể đọc được của con người :

$ plutil -convert xml1 transcript.ichat

Bây giờ, khi bạn chạy filelại, bạn có thể thấy đó là tệp XML:

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

Hãy tiếp tục mở ra và xem cho chính mình:

$ open transcript.ichat

8

Nếu bạn đã quen thuộc với sqlite, bạn chỉ có thể xuất các tin nhắn trực tiếp từ cơ sở dữ liệu trên Mountain Lion iMessage.

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

Từ cơ sở dữ liệu, bạn có thể gửi các lệnh sql để nhận bất kỳ và tất cả các tin nhắn và các trường liên quan mà bạn quan tâm. Hơn nữa, bạn có thể thay đổi cài đặt đầu ra để ghi trực tiếp vào một tệp.

Ngoài ra, ngoài cơ sở dữ liệu, tất cả các ảnh đều được lưu trong thư mục Đính kèm.


3
Bảng điểm iChat ( .ichattệp) không phải là cơ sở dữ liệu SQLite.
Sean Moubry

7

Kiểm tra dự án của tôi sẽ đưa tất cả các cuộc hội thoại của bạn và chuyển đổi chúng thành một tệp văn bản có thể đọc được. Nó sẽ không chuyển đổi chỉ một iMessage, nhưng nó sẽ thu thập tất cả các tin nhắn và tệp đính kèm của bạn, sao lưu chúng và đưa chúng vào định dạng có thể đọc được.

https: //peterk vitaminki09.github.io/baskup


2
Nó có hoạt động với các tệp nhật ký iChat không?
nohillside

Nó sử dụng các tệp nhật ký iChat của bạn được tìm thấy trong ./L Library/Messages/chat.db để chuyển đổi thành tệp văn bản.
Peter Kaminski

Điều này làm việc tốt cho tôi, cảm ơn! Tôi nhận thấy rằng nó có thể bỏ qua phần đầu của lịch sử tin nhắn mặc dù nếu bạn có các cuộc hội thoại RẤT lâu (trừ khi chúng bị mất mãi mãi nếu iMessage không giữ tất cả các tin nhắn như tôi nghĩ). Tuy nhiên vẫn hoàn thành công việc!
Billy Bryce

Tôi nghĩ vấn đề chính tôi nhận thấy là khi bạn mở macbook sau khi đã gửi nhiều tin nhắn trên điện thoại, có sự chậm trễ giữa iMessage trên mac và điện thoại và điều này khiến các tin nhắn bị cắt.
Peter Kaminski

Điều này có vẻ rất hữu ích, nhưng có cách nào để xóa các tin nhắn cũ hơn khi chúng đã được xuất / lưu trữ / bất cứ điều gì không?
Paul R

1

Tôi đã tạo một công cụ dòng lệnh để chuyển đổi các tệp ichat này thành JSON được phân tách bằng dòng mới

Công cụ trích xuất thông tin cần thiết trần: tin nhắn, người gửi, ngày

Bạn có thể xem mã nguồn và / hoặc tải xuống nhị phân tại https://github.com/kfatehi/ichat2json


0

Nếu bạn chọn in từ menu tệp, khi hộp in mở ra ở phía dưới bên trái là nút pdf có thả xuống. Từ đây bạn có thể lưu dưới dạng pdf, script script, mail dưới dạng pdf hoặc gửi tới iTunes.


-1

Đây sẽ không phải là một giải pháp hoàn hảo, nhưng tôi nhận thấy rằng các thông điệp luôn nằm giữa Ä__$. Bạn có thể viết một tập lệnh để trích xuất tất cả văn bản bắt đầu và kết thúc với các ký tự đó. (bất kỳ ngôn ngữ nào có hỗ trợ rexex sẽ làm)


-1

Đây có vẻ như là một ứng dụng lý tưởng của quy trình làm việc của Automator hoặc AppleScript, vì cả hai đều có thể thực hiện hành vi kiểu "nhấn nút trên màn hình". Bạn sẽ nói "lấy tệp làm đầu vào" và sử dụng một cái gì đó trong "in" hoặc "tin nhắn" nếu có một trong hai hoặc sử dụng AppleScript để bảo nó mở tệp và nhấn tệp và in và lưu dưới dạng pdf và sau đó đóng tệp.


Bạn có thể cung cấp một mô tả tốt hơn về câu trả lời của bạn. Đó là gợi ý nhưng không hiển thị bất kỳ câu trả lời cụ thể nào cho người dùng theo các bước.
Danijel-James W
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.