
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
. Alp
final le dice a sed que, si se hizo una coincidencia, debería imprimir el resultado.