Pacman
使用 awk 的 pacsysclean 與 expac 的輸出之和的差異?
我正在嘗試查看是否可以在我的設置中了解有關磁碟使用情況的更多資訊 - 關於已安裝的軟體包(全部)。所以我在看 Arch Pacman Tips about maintenance。首先我嘗試:
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
在這裡有沒有以任何方式濫用?我在命令之前嘗試了一個可選的分配,即LC_ALL="C" command
確保它與我的locale無關。結果是一樣的。
不,你沒有濫用 awk;這更像是(稍微)濫用的情況
pacsysclean
。
expac
明確設計用於提取和解析alpm 數據:您從中看到的結果是準確的。
pacsysclean
並不是真正的可解析的,它只是按安裝的大小對包進行排序。因此,一旦包大小超過該門檻值,單元大小就會在 MiB 和 KiB 之間發生變化,從而awk
不加選擇地對整數列求和。堅持
expac
用於解析和pacsysclean
快速排序。