У меня есть файлы со всеми мыслимыми EOL. Я хочу нормализовать их за один раз, а не делать их одну за другой, поскольку речь идет о нескольких тысячах. Я знаю, как делать их вручную, поэтому, пожалуйста, не объясняйте это.
Я думаю, что все возможные, от наиболее распространенных к наименее распространенным: 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, результат, который я хочу от всех:
строка1CRLF
линия2CRLF
CRLF
строка3CRLF
строка4CRLF
CRLF
CRLF
линия5CRLF
CRLF
CRLF
CRLF
строка6CRLF
CRLF
<сильный>2. CRCRLF: вручную я заменил бы CRCRLF на CRLF, \r\r\n на \r\n и повторил бы снова для файлов с CRCRCRLF и еще раз для этого одинокого CRCRCRCRLF. Но проблема в том, что не все файлы имеют именно эту возможность, есть еще 5, которые я перечислил выше. Хотя просто LF и просто CR здесь не так уж проблематично, так как Блокнот Windows теперь поддерживает Unix и MAC EOL, но все же было бы неплохо их включить.
Таким образом, основной проблемой остается LFLF, а затем следует рассмотреть еще несколько CRCR и CRCR-CRLF. Лучше всего было бы включить все возможности.
строка1CR
CRLF
строка2CR
CRLF
CR
CRLF
строка3CR
CRLF
строка4CR
CRLF
CR
CRLF
CR
CRLF
строка5CR
CRLF
CR
CRLF
CR
CRLF
CR
CRLF
строка6CR
CRLF
CR
CRLF