A maneira mais fácil no shell Bourne de extrair strings de uma linha de texto?

1

Digamos que eu esteja fazendo um grep e retorne esta linha:

Invalid value (48) on line 3

Como posso facilmente extrair esse valor 48 para uma variável no Bourne shell?

    
por CaptSaltyJack 13.08.2013 / 18:34

2 respostas

1

Se você tiver certeza de que o padrão é sempre obter o valor no primeiro par de parênteses, então, cortar é seu melhor amigo.

myvar=$(echo 'Invalid value (48) on line 3' | cut -d\( -f2 | cut -d\) -f1)

isso extrai o valor entre os parênteses.

    
por 13.08.2013 / 19:23
0

echo 'Invalid value (48) on line 3'| awk -F'[()]' '{print $2}'

    
por 13.08.2013 / 19:33

Tags