1

Я хотел бы отобразить доступное дисковое пространство монтирования в формате xx% ,

Например:

sh-3.1$ df -h /opt/Application/Disk1/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg00-LogVol09
                       57G   33G   22G  60% /opt/Application/Disk1/

Я хочу отображать только "% 60"

3 ответа3

2

Вы можете попробовать следующее решение:

df -h /opt/Application/Disk1/ | awk '{print $4}' | tail -1

Здесь awk '{print $4}' напечатает все, что появляется в столбце 4 вашего вывода, а tail -1 отфильтрует только последнюю строку.

1

Я хотел бы отобразить доступное дисковое пространство монтирования в формате xx%

...

Я хочу отображать только "% 60"

Пример, который вы привели, не совсем подходит для вопроса, так как доступное дисковое пространство в этом примере будет 40%. В случае, если вы хотите просто отфильтровать вывод для используемого дискового пространства, вы должны пойти с ответом Юджина С. Если вы хотите выразить доступное дисковое пространство в процентах, вы можете использовать его модифицированную версию. Как это:

df /opt/Application/Disk1/ | awk '{print (100 -$5 )}' | tail -1 | sed 's/^/%/g'

Где awk '{print (100 -$5 )}' вычитает процент используемого дискового пространства (который находится в 5-м столбце в нормальном выводе df ) из 100, что приводит к проценту доступного дискового пространства. Конечный sed 's/^/%/g' просто добавляет символ% перед выводом. Чтобы добавить% после вывода, используйте sed 's/$/%/g' .

0
#!/usr/bin/env python
import os, sys
st = os.statvfs(sys.argv[1])
free = st.f_bfree/st.f_blocks * 100
sys.stdout.write("%.f%%\n" % free)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .