我编写了一个脚本来计算df
Linux 的 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
我也想让我的代码更简洁,但我没有想法。