Mac OS Lion có chuyển sang sử dụng nguồn cấp dữ liệu dòng (LF '\ n') cho ngắt dòng thay vì trả về vận chuyển (CR '\ r') không?


29

Tôi đã chuyển sang Lion một lúc trước và chỉ nhận thấy rằng khi tôi lưu một tệp văn bản trong TextEdit, nó sử dụng LF để ngắt dòng. Tôi nhìn xung quanh mọi nơi tôi có thể nghĩ về máy tính Lion của mình và không thể tìm thấy bất kỳ bằng chứng nào về các tệp sử dụng CR để ngắt dòng mặc dù tôi nhớ rằng máy Mac luôn sử dụng CR mặc dù Unix sử dụng LF và Windows sử dụng CR + LF. Khi tôi biết rằng OS X dựa trên Unix, tôi thậm chí đã kiểm tra Snow Leopard của mình và thất vọng vì nó vẫn sử dụng CR.

Vì vậy, Lion đã chuyển sang sử dụng LF?

Điều kỳ lạ nhất là tôi đã tìm kiếm trên tất cả các trang web và không thể tìm thấy bất kỳ bằng chứng nào về việc Lion sử dụng LF.

Câu trả lời:


43

Tôi nhớ rằng máy Mac luôn sử dụng CR mặc dù Unix sử dụng LF và Windows sử dụng CR + LF

Bộ nhớ của bạn có từ thời xa xưa: Mac OS X, vì Unix tương thích POSIX sử dụng Unix điển hình LF.

CR là một bản sao từ hệ điều hành Mac "cổ điển", nó không được sử dụng nữa.

Ví dụ: kiểm tra trang chủ của unix2dos(nhấn mạnh của tôi):

Trong các tệp văn bản của DOS / Windows, ngắt dòng, còn được gọi là dòng mới, là sự kết hợp của hai ký tự: Trả về vận chuyển (CR) theo sau là Nguồn cấp dữ liệu (LF). Trong các tệp văn bản Unix, ngắt dòng là một ký tự đơn: Nguồn cấp dữ liệu (LF). Trong các tệp văn bản Mac, trước Mac OS X, ngắt dòng là ký tự Vận chuyển đơn (CR). Ngày nay, Mac OS sử dụng ngắt dòng theo kiểu Unix (LF).

Một tài liệu tham khảo thậm chí còn có thẩm quyền hơn: Shell Scripting Primer: Thiết kế tập lệnh cho triển khai đa nền tảng

Các công cụ dòng lệnh trong Mac OS X (và các biến thể UNIX hoặc Linux khác) sử dụng các kết thúc dòng theo kiểu UNIX. Điều này có nghĩa là mỗi dòng trong tệp văn bản kết thúc bằng một ký tự dòng mới (ký tự 10 / 0xA, thường được viết tắt là LF).

Nhiều ứng dụng Mac cũ hơn sử dụng "kết thúc dòng Mac kiểu Mac. Điều này có nghĩa là mỗi dòng trong tệp văn bản kết thúc bằng ký tự trả về vận chuyển (ký tự 13 / 0xD, thường được viết tắt CR).


Tôi đặc biệt nhớ trên Snow Leopard, nó đã sử dụng CR.
Matt

1
Tôi đang sử dụng Snow Leopard và nó không sử dụng trả về vận chuyển, cả trong TextEdit, TextWrangler, TextMate, vim, emacs, nano, khi lặp lại với một tập tin, et cetera. Và có một tài liệu tham khảo bán có thẩm quyền về điều đó, vì vậy bạn phải đặt trình soạn thảo của mình trên Snow Leopard để sử dụng trả lại vận chuyển sau đó.
slhck

8
Tôi đã tìm ra nó: Vấn đề là với Microsoft Excel. Khi bạn lưu tệp CSV trên máy Mac, nó sẽ sử dụng CR.
Matt

5
Chà, nói về phần mềm của Microsoft trên OS X. Mặc dù vậy, tôi đã nhận ra vấn đề đó với các tệp CSV của Excel, tôi đã tự mình gặp vấn đề với nó.
slhck

Cảm ơn bạn cho câu trả lời này! Tôi đang cố gắng thêm các chương trình TI-89 vào kho Git của mình mà tất cả kết thúc \rGit đang gặp sự cố với nó .
NobleUplift
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.