Você pode usar a comparação numérica em Perl:
#! /usr/bin/perl -l
@lines = 'df -H';
for (@lines) {
@cols = split;
print $cols[4] if $cols[4] > $ARGV[0];
}
Executar como
script.pl 90
Tentando usar um script perl para buscar o% de uso do disco rígido. [Ao buscar a quinta coluna da saída 'df -H', mostra a porcentagem de uso].
$thirdlast='df -H';
@matches=($thirdlast=~/(\S+%)/g);
print "@matches\n";
Está dando a saída.
Use% 3% 1% 1% 0% 1%
Agora é necessário buscar o valor se qualquer um desses itens for acima de 90%. Tentei grepping assim. ['3' aqui, '9' no script real, para valores de 90% a 99%]
perl script.pl | grep -oh "3\w*"
3
Mas os problemas são:
O que poderia ser feito? Qualquer outra opção que não seja 'grep' ..?
Você pode usar a comparação numérica em Perl:
#! /usr/bin/perl -l
@lines = 'df -H';
for (@lines) {
@cols = split;
print $cols[4] if $cols[4] > $ARGV[0];
}
Executar como
script.pl 90