使用 awk 的 pacsysclean 与 expac 的输出总和有何不同?

使用 awk 的 pacsysclean 与 expac 的输出总和有何不同?

我想看看我是否可以了解有关我的设置中的磁盘使用情况的更多信息 - 相对于已安装的软件包(全部)。所以我在看拱门吃豆人小贴士关于维护。首先我尝试:

expac -HM -s "%-30n %m" | awk '{s+=$2} END {print s}'
3785.87 (Mb)

我知道这是对的。然后我尝试:

pacsysclean | awk '{s+=$1} END {print s}'
151634

管道运算符之前的两个命令wc -l产生相同数量的包。输出的数字是多少pacsysclean?我awk在这里是否以任何方式滥用了?我在命令 ie 之前尝试了一个可选分配,LC_ALL="C" command以确保它与我的无关语言环境。结果是相同的。

答案1

不,你没有滥用 awk;这更多的是(轻微)滥用的情况pacsysclean

expac明确设计用于提取和解析阿尔普数据: 您从中看到的结果是准确的。

pacsysclean并不是真正要可解析的,它只是按安装的大小对包进行排序。因此,一旦包大小超过该阈值,单位大小就会在 MiB 和 KiB 之间变化,从而awk不加区别地对整数列求和。

坚持expac进行解析和pacsysclean快速排序。

相关内容