Czy system Mac OS Lion przełączył się na używanie wysuwu wiersza (LF '\ n') do podziału linii zamiast powrotu karetki (CR '\ r')?

29

Jakiś czas temu przełączyłem się na Lion i zauważyłem, że kiedy zapisuję plik tekstowy w TextEdit, używa on LF do łamania linii. Rozglądałem się wszędzie, gdzie mogłem pomyśleć na moim komputerze Lion, i nie mogłem znaleźć żadnych dowodów na pliki używające CR do łamania linii, chociaż pamiętam, że Mac zawsze używał CR, pomimo Unixa używającego LF i Windowsa używającego CR + LF. Kiedy dowiedziałem się, że OS X jest oparty na Uniksie, sprawdziłem nawet mojego Snow Leoparda i byłem rozczarowany, że nadal używa CR.

Więc Lion przeszedł na używanie LF?

Najdziwniejsze jest to, że szukałem w Internecie i nie mogę znaleźć żadnych dowodów na to, że Lion używa LF.

Matt
źródło

Odpowiedzi:

43

Pamiętam, że Mac zawsze używał CR, mimo że Unix używa LF, a Windows używa CR + LF

Pamięć pochodzi z dawnych dobrych czasów: Mac OS X, ponieważ Unix zgodny z POSIX używa typowego Uniksa LF.

CR to relikt z „klasycznego” Mac OS, nie jest już używany.

Na przykład sprawdź stronę unix2dos(wyróżnienie moje):

W plikach tekstowych DOS / Windows podział linii, znany również jako nowa linia, jest kombinacją dwóch znaków: powrotu karetki (CR), a następnie przesunięcia wiersza (LF). W plikach tekstowych uniksowych podział linii to pojedynczy znak: przesunięcie linii (LF). W plikach tekstowych Mac przed wersją Mac OS X, linia była pojedynczym znakiem powrotu karetki (CR). Obecnie Mac OS używa podziałów linii w stylu uniksowym (LF).

Jeszcze bardziej wiarygodne odniesienie: Shell Scripting Primer: Projektowanie skryptów do wdrażania na wielu platformach

Narzędzia wiersza polecenia w systemie Mac OS X (i innych wariantach UNIX lub Linux) używają zakończeń linii w stylu UNIX. Oznacza to, że każda linia w pliku tekstowym kończy się znakiem nowej linii (znak 10 / 0xA, często skracany LF).

Wiele starszych aplikacji Mac używa zakończeń linii w stylu Mac, co oznacza, że ​​każda linia w pliku tekstowym kończy się znakiem powrotu karetki (znak 13 / 0xD, często skrót CR).

slhck
źródło
Szczególnie pamiętam na Snow Leopard, że używał CR.
Matt
1
Ja jestem na Snow Leopard i nie używa znaki powrotu karetki, ani w TextEdit, TextWrangler, TextMate, vim, emacs, nano, gdy nawiązując do pliku, et cetera. Jest na to półpoważne odniesienie, więc musiałeś ustawić edytor w systemie Snow Leopard, aby używał zwrotów karetki.
slhck
8
Zrozumiałem: problem dotyczy Microsoft Excel. Gdy zapisujesz plik CSV na komputerze Mac, używa CR.
Matt
5
Cóż, mów o oprogramowaniu Microsoft w systemie OS X. Byłem jednak świadomy tego problemu z plikami CSV Excela, sam miałem z tym problemy.
slhck
Dziękuję za tę odpowiedź! Próbuję dodać programy TI-89 do mojego repozytorium Git, które się kończą \ri Git ma z tym problem .
NobleUplift