Это выражение sed преобразует входную строку в двухстрочную строку вывода. Каждая из двух выходных линий состоит из подстрок с входа. Первая линия должна быть convered в верхнем регистре:Sed выражение, которое преобразует некоторые совпадения в верхний регистр
s:random_stuff\(choice1\|choice2\){\([^}]*\)}:\U\1\n\2:
Цель состоит в том, чтобы преобразовать
random_stuff_choice1{This is a sentence that MAY contain AnyThing}
random_stuff_choice2{This is another similar sentence}
в
CHOICE1
This is a sentence that MAY contain AnyThing
CHOICE2
This is another similar sentence
У меня есть проблема в том, что \ U aplies на все следующие так что вторая строка также верхняя. Можно ли применить \ U только к первому совпадению?
Вы пропустили подчеркивание 'random_stuff_' –
ну да, так я и сделал :) Я исправил это - спасибо. – starfry