Задать вопрос
scottparker
@scottparker

Удалить символы переноса строки?

Есть многогигабайтный файл. Как удалить символ конца строки, если строка заканчивается не на ;?
  • Вопрос задан
  • 168 просмотров
Подписаться 2 Средний 5 комментариев
Пригласить эксперта
Ответы на вопрос 2
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Командой:
sed -r ':a;N;$!ba;s/([^;])\r?\n/\1/g'    big_file_name    >new_big_file

Имена файлов big_file_name и new_big_file заменять по вкусу.
Ответ написан
Комментировать
erge
@erge
Примус починяю
sed -r ':a;N;$!ba;s/([^;][^\?])[\r\n]+/\1/g' source_file > target_file


см. пример на sed.js.org

пример на regex101, в разделе Explanation - разъяснение шаблона

PS: если в строке меньше 2 символов, то шаблон не сработает, далее сами развивайте
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы