
Мне нужно показать только диски, которые имеют определенный процент использования, например, 50% занятого пространства отображается, но диски, которые имеют 33%, не отображаются. Теперь я знаю команду df -h, но я не знаю, как указать процент. Есть ли способ сделать это в терминале или мне нужно написать скрипт для этого?
решение1
Вы можете использовать его grep
для упрощения вывода практически любой команды.
Ну, если хочешьтолькопоказать те, у которых 50% или даже 5*%, например 55%, вы можете использовать grep следующим образом:
df -h | grep "50%"
или чтобы показать все 50 процентов, например 51 или 55, вы можете запустить это:
df -h | grep "5.%"
Чтобы показать что-либобольше или равно50%, запустите вместо этого это:
df -h | egrep "10.%|9.%|8.%|7.%|6.%|5.%"
решение2
Так как вы хотите сделатьчисловойВместо лексического сравнения я бы предложил использовать что-то вроде perl
или, awk
например ,
df -h | awk 'NR==1 || substr($5,1,length($5)-1) > 33'
где
NR==1
всегда печатать строку заголовкаsubstr($5,1,length($5)-1)
удалить завершающий%
знак из 5-го поля- численно сравните результат со значением
33
Чтобы сделать его более гибким, вы можете передать желаемое значение отсечки как переменную, например:
df -h | awk -v val=33 'NR==1 || substr($5,1,length($5)-1) > val'