sed regex для захвата группы между разделителями

sed regex для захвата группы между разделителями

У меня есть файл из двух строк, из которого я пытаюсь извлечь некоторую информацию для скрипта bash с помощью sed.

# File Comment
PrefixForInformation {information to be captured}

Мне нужно получить информацию между, но не включая фигурные скобки. У меня есть регулярное выражение PCRE /{(.*)}/или \s{([^}]*)то, что, кажется, работает вОнлайн Регулярное выражение 101но я не могу перенести это в рабочую конфигурацию sed.

решение1

$ sed -n 's/.*{\(.*\)}.*/\1/p' file
information to be captured

Как это работает

  • -n

    Это сообщает sed, что не следует ничего печатать, пока мы явно не попросим его об этом.

  • s/.*{\(.*\)}.*/\1/p

    Эта команда замены захватывает как группу 1 все, что находится между двумя фигурными скобками. Вся строка заменяется группой 1, обозначенной \1. pВ конце сообщает sed, что если совпадение было найдено, он должен вывести результат.

Связанный контент