ex regex para o grupo de captura entre os delimitadores

2

Eu tenho um arquivo de duas linhas que estou tentando obter algumas informações para um script bash usando sed.

# File Comment
PrefixForInformation {information to be captured}

Eu preciso de informações, mas não incluindo as chaves. Eu tenho o regex /{(.*)}/ ou \s{([^}]*) de PCRE que parece funcionar em Regex on-line 101 , mas não consigo fazer isso uma configuração de trabalho sed.

    
por SonOfAMotherlessGoat 05.11.2015 / 22:37

1 resposta

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

Como funciona

  • -n

    Isso diz ao sed para não imprimir nada a menos que explicitamente o solicitemos.

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

    Este comando substituto captura como grupo 1 tudo entre duas chaves. A linha inteira é substituída pelo grupo 1, denotado . O p no final informa ao sed que, se uma correspondência for feita, deverá imprimir o resultado.

por 05.11.2015 / 22:52