У меня большой текстовый / CSV-файл размером 6 ГБ.Когда он был создан, произошла ошибка, и некоторые символы новой строки (CRLF) не были удалены из полей, поэтому некоторые строки разбиты
Вот упрощенная версия:
например,
Field1<TAB>Field2<TAB>Field3<TAB>Field4
Field1<TAB>Field2<TAB>Field3<TAB>Field4
Field1<TAB>Field2<TAB>Field3
<TAB>Field4
Field1<TAB>Field2<TAB>Field3<TAB>Field4
Таким образом, поле 3 в строке 3 имеет CR, и поэтому строка разбита
Я не хочу воссоздавать тот CSV-файл, который бы занимал слишком много времени, но должен быть способ исправить это, возможно, с помощьюс помощью регулярных выражений и инструмента.
Легко определить ломаные линии.Они длиной менее 50 символов.Все хорошие строки длиннее 50 символов
Так что мне нужен шаг, который: * определяет короткие строки * удаляет CRLF перед этой строкой * делает это для всего файла
я могу создатьмакрос в UltraEdit и найдите Perl Regex
^.{0,50}$
и замените CRLF впереди.Это работает, но занимает слишком много времени.Макросы в UltraEdit удобны, но очень медленны.
Есть ли другой способ?Могу ли я использовать регулярные выражения с каким-либо инструментом для поиска / замены?
Спасибо, Вольфганг