Como obter um campo específico de uma string

Como obter um campo específico de uma string

Quero obter a terceira coluna da última linha da saída do freecomando. Até agora eu tenho isso:

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

Como faço isso?

Responder1

Usando apenas awk:

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

Explicação:

ENDimprime apenas a última linha

{print $2}imprime apenas a segunda coluna

ORS=""remove a nova linha final

ou, de outra forma com awk:

free | awk  'END {printf "%s", $2}'

Responder2

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

free | awk '/Swap:/ {print $3}'

Responder3

$ free | tail -n 1 | awk '{print $2}'

informação relacionada