Как получить определенное поле строки

Как получить определенное поле строки

Я хочу получить третий столбец последней строки вывода freeкоманды. Пока у меня есть это:

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

Как мне это сделать?

решение1

Используя только awk:

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

Объяснение:

ENDпечатает только последнюю строку

{print $2}печатает только второй столбец

ORS=""удаляет завершающий символ новой строки

или, по-другому, с помощью awk:

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

решение2

Последняя строка freeвывода Swap:...... С этими знаниями вы можете сделать это просто awk:

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

решение3

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

Связанный контент