Remove o último caractere da string capturada com awk [duplicate]

6

Eu preciso remover o último caractere de uma string neste comando:

sudo docker stats --no-stream 39858jf8 | awk '{if (NR!=1) {print $2}}'

O resultado é 5.20% , eu preciso remover o % no final, dando 5.20 . É possível fazer isso no mesmo comando?

    
por Steph 23.08.2016 / 10:11

1 resposta

18

Sim, com substr() você pode fazer o fatiamento de string:

... | awk '{if (NR!=1) {print substr($2, 1, length($2)-1)}}'

length($2) nos dará o comprimento do segundo campo, deduzindo 1 daquele para remover o último caractere.

Exemplo:

$ echo spamegg foobar | awk '{print substr($2, 1, length($2)-1)}'
fooba
    
por 23.08.2016 / 10:13