Mac OS Lion переключился на использование перевода строки (LF '\ n') для разрыва строки вместо возврата каретки (CR '\ r')?


29

Я переключился на Lion некоторое время назад и просто заметил, что когда я сохраняю текстовый файл в TextEdit, он использует LF для разрывов строк. Я оглядывался повсюду, где только мог придумать на своем компьютере Lion, и не мог найти никаких доказательств того, что файлы используют CR для разрывов строк, хотя я помню, что Mac всегда использовал CR, несмотря на то, что Unix использовал LF, а Windows использовал CR + LF. Когда я узнал, что OS X основана на Unix, я даже проверил свой Snow Leopard и был разочарован тем, что он использовал CR.

Так Lion переключился на использование LF?

Самое странное, что я искал по всей сети и не могу найти никаких доказательств того, что Лев использовал LF.

Ответы:


43

Я помню, что Mac всегда использовал CR, несмотря на то, что Unix использовал LF, а Windows использовал CR + LF

Тем не менее, ваша память была из старых добрых времен: Mac OS X, так как POSIX-совместимый Unix использует типичный Unix LF.

CR это реликт из «классической» Mac OS, он больше не используется.

Например, проверьте man-страницу unix2dos(выделено мной):

В текстовых файлах DOS / Windows разрыв строки, также известный как перевод строки, представляет собой комбинацию двух символов: возврат каретки (CR), за которым следует перевод строки (LF). В текстовых файлах Unix разрыв строки - это один символ: перевод строки (LF). В текстовых файлах Mac до Mac OS X разрыв строки был одним символом возврата каретки (CR). В настоящее время Mac OS использует разрывы строк в стиле Unix (LF).

Еще более авторитетный справочник: Shell Scripting Primer: Разработка сценариев для кроссплатформенного развертывания

Инструменты командной строки в Mac OS X (и других вариантах UNIX или Linux) используют окончания строки в стиле UNIX. Это означает, что каждая строка в текстовом файле заканчивается символом новой строки (символ 10 / 0xA, часто сокращенно LF).

Многие старые Mac-приложения используют окончания строк в стиле «Mac». Это означает, что каждая строка в текстовом файле заканчивается символом возврата каретки (символ 13 / 0xD, часто сокращенно CR).


Я особенно помню, что на Snow Leopard он использовал CR.
Мэтт

1
Я не нахожусь на Snow Leopard и не использует возврат каретки, ни в TextEdit, TextWrangler, TextMate, ВИМ, Emacs, нано, когда вторя в файл, и так далее. И на это есть полуавторизованная ссылка, поэтому вы должны настроить свой редактор на Snow Leopard, чтобы использовать возврат каретки.
slhck

8
Я понял это: проблема с Microsoft Excel. Когда вы сохраняете файл CSV на Mac, он использует CR.
Мэтт

5
Хорошо, поговорим о программном обеспечении Microsoft для OS X. Я знал об этой проблеме с файлами CSV в Excel, хотя сам столкнулся с проблемами.
slhck

Спасибо за этот ответ! Я пытаюсь добавить программы TI-89 в мой репозиторий Git, которые заканчиваются, \rи у Git возникают проблемы с этим .
NobleUplift
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.