Есть много вопросов о замене нескольких новых строк на один новый, но никто не работает для меня.
У меня есть файл:
first line
second line MARKER
third line MARKER
other lines
many other lines
Мне нужно заменить два новых строки (если онисуществует) после MARKER
до одной новой строки.Файл результата должен быть:
first line
second line MARKER
third line MARKER
other lines
many other lines
Я пробовал sed ':a;N;$!ba;s/MARKER\n\n/MARKER\n/g'
Неудачно.
sed
полезен для однострочных замен, но имеет проблемы с символами новой строки.Он не может найти \n\n
Я пытался perl -i -p -e 's/MARKER\n\n/MARKER\n/g'
Fail.
Это решение выглядит ближе, но кажется, что регулярное выражение не реагирует на \n\n
.
Можно ли заменить \n\n
только после MARKER
и не заменять другие \n\n
в файле?
Меня интересует однострочное решение, а не сценарии.