
Preciso mostrar apenas o disco que possui uma porcentagem específica de uso, como por exemplo 50% do espaço ocupado aparece, mas o disco que possui 33% não aparecerá. Agora conheço o comando df -h mas não sei como especificar a porcentagem. Existe uma maneira de fazer isso no terminal ou preciso escrever um script para isso?
Responder1
Você pode usar grep
para simplificar a saída de praticamente qualquer comando.
Bem, se você quiserapenasmostre aqueles com 50% ou até 5*% como 55% você pode usar grep assim:
df -h | grep "50%"
ou para mostrar a todos os 50 alguns por cento como 51 ou 55 também, você pode executar isto:
df -h | grep "5.%"
Para mostrar qualquer coisaMelhor que ou igual a50%, execute isto:
df -h | egrep "10.%|9.%|8.%|7.%|6.%|5.%"
Responder2
Já que você quer fazer umnuméricocomparação em vez de lexical, sugiro usar algo como perl
ou, awk
por exemplo
df -h | awk 'NR==1 || substr($5,1,length($5)-1) > 33'
onde
NR==1
sempre imprima a linha do cabeçalhosubstr($5,1,length($5)-1)
remova o%
sinal final do 5º campo- compare numericamente o resultado com o valor
33
Para torná-lo mais flexível, você pode passar o valor de corte desejado como uma variável, por exemplo
df -h | awk -v val=33 'NR==1 || substr($5,1,length($5)-1) > val'