Como grep uma string em um arquivo e a saída do número ao lado da string

0

Eu tenho esta saída quando eu grep uma string em um arquivo.

$ grep "java vm version" dev_server0
F    java vm version   : 6.1.094 25.51-b02

Só preciso da saída como 6.1.094 e removo todos os outros caracteres / números removidos. Como posso conseguir isso?

    
por Gautham K 20.10.2016 / 13:15

3 respostas

1

Tente

grep "java vm version" dev_server0 | awk '{print $6}'

awk por padrão divide a linha de entrada nos espaços e o 6º campo é o que você precisa

Por exemplo:

$ echo 'F    java vm version   : 6.1.094 25.51-b02' | awk '{print $6}'
6.1.094


Se você tiver grep com pcre , tente

grep -oP 'java vm version\s*:\s*\K\S+' dev_server0
  • java vm version\s*:\s*\K lookbehind este padrão
  • \S+ extrai caracteres não espaciais
por 20.10.2016 / 13:21
1

POSIXly:

sed -n 's/.*java vm version[[:blank:]:]*\([^[:blank:]]*\).*//p'
    
por 20.10.2016 / 13:29
1

Basta imprimir o 6º campo:

grep "java vm version" dev_server0 | awk '{print $6}' 
    
por 20.10.2016 / 13:21

Tags