как напечатать только столбец 'use%' со всеми значениями% использования командой 'df -k'

Я хочу напечатать Используйте столбец% со всеми значениями% в команде 'df -k'. Я хочу сравнить все эти значения со значением переменной.

-1
02.03.2017, 09:08
3 ответа

С GNU df - Непроверено на aix

Вы можете получить значения Use% без синтаксического анализа вывода df :

df --output=pcent
0
28.01.2020, 05:10
 df -kP | awk 'NR>1 && $5+0 >= 90'

Список записей (в переносимом формате вывода df -P ), который также гарантирует все записи находятся в одной строке), для которых % использования больше или равно 90 . +0 означает принудительное числовое сравнение (в противном случае 100% будет считаться меньшим, чем 90 ).

1
28.01.2020, 05:10

Это то, что вы хотите?

df -k|sed 's/  */\t/g;s/%//'|cut -f 5

Затем вы можете исключить первую строку и сравнить значения, но на этом этапе у вас больше нет отношения к устройству.

[ПРАВИТЬ:] Так что я был прав и вам нужно устройство. Итак, вы хотите что-то вроде этого:

for item in `df -k|sed 's/  */_/g;s/%//'|cut -d_ -f 1,5`; do
  if (( ${item#*_} > 90 )); then
    echo ${item%_*} has ${item#*_}%
  fi
done

Это синтаксис bash. Адаптируйте его под свои нужды.

0
28.01.2020, 05:10

Теги

Похожие вопросы