
Eu tenho um arquivo de duas linhas do qual estou tentando obter algumas informações para um script bash usando sed.
# File Comment
PrefixForInformation {information to be captured}
Preciso obter as informações entre, mas não incluindo, as chaves. Eu tenho o regex PCRE /{(.*)}/
ou\s{([^}]*)
parece funcionar emRegex on-line 101mas não consigo passar para uma configuração sed funcional.
Responder1
$ sed -n 's/.*{\(.*\)}.*/\1/p' file
information to be captured
Como funciona
-n
Isso diz ao sed para não imprimir nada, a menos que solicitemos explicitamente.
s/.*{\(.*\)}.*/\1/p
Este comando substituto captura como grupo 1 tudo entre duas chaves. A linha inteira é substituída pelo grupo 1, denotado
\1
. Op
final informa ao sed que, se uma correspondência for feita, ele deverá imprimir o resultado.