Я хочу найти все случаи, когда между строками «START:» и «END:» встречается одно или несколько заглавных слов, за которыми следует двоеточие «:».Затем я хочу добавить точку перед каждым экземпляром.
Пример ввода:
Я хочу проверить, что происходит, если перед заголовком есть информациянаходясь в поиске.Таким образом, здесь мы лежим: и конец.СТАРТ: Теперь мы видим всю важную информацию, которую имеем вместе с: кучей странных: заголовков.Я хочу выделить все заголовки и добавить точки перед ними, чтобы разделить информацию на разные предложения. Теперь я могу остановиться, потому что попал в конечный заголовок.КОНЕЦ: Больше информации после этого я не хочу: захват.Конец.
Желаемый результат:
Я хочу проверить, что происходит, если перед заголовком, который я ищу, есть информация.Таким образом, здесь мы лежим: и конец.СТАРТ: Теперь мы видим всю важную информацию, которая у нас есть.Вместе с: куча.Странно: заголовки.Я хочу выделить все.Заголовки: и добавьте перед ними точки, чтобы разделить информацию на разные.Предложения: Теперь я могу остановиться, потому что попал в конец заголовка.КОНЕЦ: Больше информации после этого я не хочу: захват.Конец.
Следующий код добавит точку перед каждым из заголовков.Часть, с которой я борюсь, ограничивает замену между строками «START:» и «END:».Прямо сейчас он добавляет периоды повсюду.
sed -r "s/(\b(.?[[:upper:]]\w+)++:)/. \1/g" TestData.txt
Я пытался просмотреть решения, которые были предложены ранее, но ни один из них не работает для меня, и я думаю, что это может иметьсвязано с тем, что все данные находятся в одной строке , а не в нескольких строках.
Так что в действительности мой файл данных выглядит следующим образом:
I want to test what happens if there is information before the header I am looking for. Thus Here We Lie: And end. START: Now we see all the important information that we have Along With: a bunch of Strange: headers. I want to highlight all of the Headers: and add periods before them to separate the information into different Sentences: Now I can stop because I hit the end header. END: More information after that I do Not Want To: capture. The End.
РЕДАКТИРОВАТЬ 1: Исправлена строка реальности