Bash: lê valores de um arquivo depois de marcadores

3

Eu tenho um arquivo parecido com isto:

Variable1 { value1 }
Variable2 { value2 }
...

Existe uma maneira de escrever um script que, pelo menos, recupera os valores entre "{}"?

Obrigado!

    
por Jessica Chambers 03.04.2018 / 18:04

1 resposta

4

Você pode fazer isso com muitas ferramentas, como:

grep

grep -oP '(?<={ ).*(?= })' FILENAME

awk

awk -F '({ | })' '{print $2}' FILENAME

sed

sed 's/.*{ \(.*\) }//' FILENAME

Todos os comandos acima têm uma saída como esta:

value1
value2

Além disso, você pode salvar esses comandos em outro arquivo, redirecionando ou com o comando tee .

Por exemplo:

grep -oP '(?<={ ).*(?= })' FILENAME > OUTPUT

Ou:

grep -oP '(?<={ ).*(?= })' FILENAME | tee OUTPUT
    
por Ali Razmdideh 03.04.2018 / 18:48