Попытка Perl-скрипта получить % использования жесткого диска. [При получении 5-го столбца вывода 'df -H' отображается процент использования].
$thirdlast=`df -H`;
@matches=($thirdlast=~/(\S+%)/g);
print "@matches\n";
Это дает результат.
Use% 3% 1% 1% 0% 1%
Теперь необходимо получить значение, если какой-либо из этих выходных значений превышает 90%. Пробовал использовать grepping следующим образом. ['3' здесь, '9' в реальном скрипте, от 90% до 99 % values]
perl script.pl | grep -oh "3\w*"
3
Но проблемы следующие:
Что можно сделать? Любой другой вариант, кроме grep ..?
Можно использовать числовое сравнение в Perl:
#! /usr/bin/perl -l
@lines = `df -H`;
for (@lines) {
@cols = split;
print $cols[4] if $cols[4] > $ARGV[0];
}
Выполнение как
script.pl 90