Рассмотрим следующий набор строк в виде текстового файла:
START This is a
sample paragraph that has special characters like new lines
spaces, tabs, quotes "abc", equals =, angular brackets <abc>, front slash / and might contain the starting string that should be ignored
START and
END
START
dfgfah
END
Используя sed, я хочу заменить текст только между первым вхождением START
и первым вхождением END
.
Результат, который я ожидаю, выглядит так:
START new_text END
START
dfgfah
END
То, что я пробовал, выглядит так:
sed ':a;N;$!ba;s/START.*END/START New text END/' sample.txt>sample_2.txt
Но результат был:
START New text End
Как заменить до первого появления END
?