Como obter um campo específico de uma string

1

Eu quero obter a terceira coluna da última linha da saída do comando free . Até agora eu tenho isso:

free | tail -n 1 | (here I need to printf the second column value)

Como faço isso?

    
por Samul 31.10.2015 / 14:33

3 respostas

3

Usando apenas awk :

free | awk 'ORS=""; END {print $2}'

Explicação:

END imprime apenas a última linha

{print $2} imprime apenas a segunda coluna

ORS="" remove a nova linha à direita

ou, de outra forma, com awk :

free | awk  'END {printf "%s", $2}'
    
por 31.10.2015 / 15:30
1

A última linha da saída de free é Swap:..... . Com esse conhecimento, você pode fazer isso com apenas awk :

free | awk '/Swap:/ {print $3}'
    
por 01.11.2015 / 01:14
0
$ free | tail -n 1 | awk '{print $2}'
    
por 31.10.2015 / 14:38