Преобразует концы строк любого текста между тремя используемыми сегодня соглашениями — LF, CRLF и CR — не затрагивая содержимое строк.
Три соглашения:
- LF (
\n) — Unix, Linux, современный macOS и значение по умолчанию для веба. Современный общий стандарт.
- CRLF (
\r\n) — Windows и классические сетевые протоколы (HTTP, SMTP и т. д.).
- CR (
\r) — классическая (до OS X) Mac OS. Сегодня редкость, но встречается в унаследованных данных и логах некоторых устройств.
Как это работает:
- Сначала инструмент определяет, какая смесь окончаний уже есть во вводе (включая сочетание всех трёх в одном файле — частая картина после вставки из разных источников).
- Разбивает текст на логические строки и снова соединяет их выбранным окончанием.
- Последняя строка тоже получает окончание, чтобы весь блок был единообразен от начала до конца.
Полезно знать:
- Это нормализует смешанные окончания — если в файле есть и
\n, и \r\n (частая причина предупреждений Git «mixed line endings»), преобразование в одно окончание исправляет это за шаг.
- Содержимое строки (хвостовые пробелы, табы) сохраняется; меняется только разделитель строки.
- Метаданные сообщают исходную разбивку (сколько CRLF / LF / CR), чтобы вы видели, с чего начали.