Я хочу напечатать Используйте столбец% со всеми значениями% в команде 'df -k'. Я хочу сравнить все эти значения со значением переменной.
С GNU df - Непроверено на aix
Вы можете получить значения Use% без синтаксического анализа вывода df
:
df --output=pcent
df -kP | awk 'NR>1 && $5+0 >= 90'
Список записей (в переносимом формате вывода df
(с -P
), который также гарантирует все записи находятся в одной строке), для которых % использования
больше или равно 90
. +0
означает принудительное числовое сравнение (в противном случае 100%
будет считаться меньшим, чем 90
).
Это то, что вы хотите?
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. Адаптируйте его под свои нужды.