sed regex para capturar grupo entre delimitadores

sed regex para capturar grupo entre delimitadores

Tengo un archivo de dos líneas del que estoy intentando obtener información para un script bash usando sed.

# File Comment
PrefixForInformation {information to be captured}

Necesito obtener la información entre las llaves, pero sin incluirlas. Tengo la expresión regular PCRE /{(.*)}/o \s{([^}]*)eso parece funcionar enExpresión regular en línea 101pero no puedo cambiar eso a una configuración sed que funcione.

Respuesta1

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

Cómo funciona

  • -n

    Esto le dice a sed que no imprima nada a menos que se lo solicitemos explícitamente.

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

    Este comando sustituto captura como grupo 1 todo lo que está entre dos llaves. Toda la línea se reemplaza con el grupo 1, denominado \1. Al pfinal le dice a sed que, si se hizo una coincidencia, debería imprimir el resultado.

información relacionada