gpt4 book ai didi

linux - 计算给定分区的已用磁盘空间百分比的 bash 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:18:08 25 4
gpt4 key购买 nike

我有一个 bash 脚本来计算给定分区的已用磁盘空间百分比:

    df -k $devname | grep -v ^File | awk '{printf ("%i",$3*100 / $2); }

它不适用于名称较长的分区,因为该名称会将其他列推到下一行,我该如何解决这个问题?

dfFilesystem           1K-blocks      Used Available Use% Mounted on/dev/mapper/VolGroup60-ROOT                     2865493440 2222006740 497927968  82% /tmpfs                 30913808         0  30913808   0% /dev/shm/dev/sda1               495844    103347    366897  22% /boot

最佳答案

您可以使用 --output 参数直接输出使用百分比,而不是解析整个“表”(详情请参阅 man 1 df):

$ df -k --output=pcent /dev/sda1
Use%
13%

这应该更容易过滤。

例如通过在 Bash 4 中使用 readarray 创建一个数组:

$ readarray -t -s 1 percentage < <(df -k --output=pcent /dev/sda1)
$ echo "${percentage[0]// /}"
13%

df 的输出逐行分配给数组:

$ percentage=($(df -k --output=pcent /dev/sda1))
$ echo "${percentage[1]}"
13%

关于linux - 计算给定分区的已用磁盘空间百分比的 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22467909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com