archlinux - 如何使用 pacman 搜索获取软件包的已安装大小

yuk*_*say 5 arch-linux awk

有时,当我想发现一个新软件来使用时,我必须在多个软件包之间进行比较。对我来说重要的因素之一是包装尺寸,因为我经常倾向于使用轻型包装来处理所有事情。

pacman -Ss命令非常有用,但我真的很想知道包的大小,以便我可以进行比较。我尝试过pacman -Ssi,但没有成功。有什么办法可以在结果中添加一些信息吗pacman -Ss

我也尝试过pacman -Ss -p --print-format "%n: %s",但这也没有用。

yuk*_*say 3

您可以使用它pacman -Si来获取包的安装大小。所以这一切都变成了 awk 脚本的问题。

您可以定义以下函数并使用它。

pkgsize(){ 
    pacman -Ss $@ | awk '{if(NR%2) {system("pacman -Si "$1" | grep Ins | cut -d\":\" -f 2 | tr -d \" \n\" "" "); printf " "$1"$";} else print $0}' | sort -h | tr "$" "\n" 
}
Run Code Online (Sandbox Code Playgroud)

如果你愿意,你也可以这样做:

pkgsize(){      
    pacman -Ss video edit | awk 'NR%2 { while("pacman -Si "$1 | getline line) if (line ~ /Ins/) { split(line,a,/:/);printf a[2] };print $1""}'
}
Run Code Online (Sandbox Code Playgroud)

我刚刚发现有一种更简单的方法!

pkgsize(){ expac -SsH M "%m: %n$\t%d" $@ | sort -h | tr '$' '\n'}
Run Code Online (Sandbox Code Playgroud)

  • @RuiFRibeiro 比这更重要的是我尚未安装的 deps 数量。除了运行 pacman -S 并查看结果之外,我不知道如何计算。 (2认同)