У меня есть файлы со всеми возможными EOL. Я хочу нормализовать их в один go вместо того, чтобы делать их один за другим, поскольку мы говорим несколько тысяч. Я знаю, как сделать их вручную, поэтому, пожалуйста, не объясняйте это.
Я думаю, что все возможные, от самых распространенных до наименее распространенных: CRLF, LF, CR-CRLF, CRCR-CRLF, CR LFLF, CRCR, CRLF-CRLF и CRCRCR-CRLF (да, есть один файл).
Все файлы имеют одинаковое EOL, в одном файле нет смешанных. После исправления могут остаться некоторые нечетные CR или LF, которые можно оставить в покое.
Я хочу, чтобы все файлы имели только CRLF. Пустые строки должны оставаться нетронутыми.
Сначала я думаю, что мне нужно хорошее определение того, что EOL есть в каждом файле. Он может проверить, что он повторяется по крайней мере 3 раза, но у некоторых есть только одна строка.
Здесь я сделал несколько скретч-файлов, все должны выглядеть как CRLF, когда все готово (внутри есть только TXT-файлы): https://www71.zippyshare.com/v/BNpRAijy/file.html
Я гуглил целый день и не нашел хорошего решения.
Примеры
1. просто CRLF EOL , результат, который я хочу от всех:
line1 CRLF
line2 CRLF
CRLF
line3 CRLF
line4 CRLF
CRLF
CRLF
line5 CRLF
CRLF
CRLF
CRLF
line6 CRLF
CRLF
2. CRCRLF: Вручную я заменил бы CRCRLF на CRLF, \ r \ r \ n на \ r \ n и повторил бы снова для файлов с CRCRCRLF и снова для этого одинокого CRCRCRCRLF. Но проблема не во всех файлах, есть только такая возможность, есть еще 5 для рассмотрения, которые я перечислил выше. Хотя просто LF и только CR не так проблематичны c здесь, поскольку Windows Notepad теперь поддерживает Unix и MA C EOL, но было бы неплохо включить их.
Так что главная проблема остается LFLF, а также есть несколько CRCR и CRCR-CRLF для рассмотрения. Лучше всего включить все возможные варианты.
line1 CR
CRLF
line2 CR
CRLF
CR
CRLF
line3 CR
CRLF
line4 CR
CRLF
CR
CRLF
CR
CRLF
line5 CR
CRLF
CR
CRLF
CR
CRLF
CR
CRLF
line6 CR
CRLF
CR
CRLF