0

我编写了一个脚本来计算dfLinux 的 Bash shell 中总容量的总和。有没有办法在不创建文件的情况下计算它?

#!/bin/bash

if [ -f /tmp/df_test.txt ]
then
    rm  tmp/df_test.txt
    echo "Remove files."
    else
    touch /tmp/df_test.txt
    echo "file creation."
        arr=(`df | awk -F " " '{print $2}' | sort -n | sed -e "1d"`)
        for i in ${arr[*]}
        do
            echo $i >>/tmp/df_test.txt 2>/dev/null
        done
fi
echo "ex) 1GB = 1000MB = 1000000KB"
echo "————————————————————————————————————"
cat /tmp/df_test.txt | awk '{sum+=$1; print$0} END {print"df total=KB)",sum} ' | sort -r | sed '2,$d'
echo "————————————————————————————————————"
rm /tmp/df_test.txt

我也想让我的代码更简洁,但我没有想法。

4

1 回答 1

0

你可以试试这个来获得人类可读单位的总使用量

df --total --human | awk 'END {print $2}' 
于 2022-03-02T21:59:31.373 回答