Archlinux/Pacman 列出已安装的软件包并附带说明

Archlinux/Pacman 列出已安装的软件包并附带说明

如何列出已安装的软件包(按用户)并附上简短说明?

当我搜索要安装的软件包时:pacman -Ss zsh,我得到以下结果:
extra/zsh 5.7.1-1 [installed] A very advanced and programmable command interpreter (shell) for UNIX
我想使用类似的方法来获得相同的结果pacman -Qe

答案1

这些对我来说工作很快

 

这将提供 pacman -Qe 结果的完整信息。它对 pacman -Qe 输出的每一行执行 pacman -Qi

for line in "$(pacman -Qqe)"; do pacman -Qi $(echo "$line"); done

 

这将生成与你所做的循环相同的输出,但不会在每一行上进行 pacman 搜索。使用管道和 perl 格式化上述命令的输出

for line in "$(pacman -Qqe)"; do pacman -Qi $(echo "$line") ; done | perl -pe 's/ +/ /gm' | perl -pe 's/^(Groups +: )(.*)/$1($2)/gm' | perl -0777 -pe 's/^Name : (.*)\nVersion :(.*)\nDescription : ((?!None).*)?(?:.|\n)*?Groups :((?! \(None\)$)( )?.*)?(?:.|\n(?!Name))+/local\/$1$2$4\n    $3/gm' | grep -A1 --color -P "^[^\s]+"

 

与上面相同,但没有在每个包名称开头添加“local/”

for line in "$(pacman -Qqe)"; do pacman -Qi $(echo "$line") ; done | perl -pe 's/ +/ /gm' | perl -pe 's/^(Groups +: )(.*)/$1($2)/gm' | perl -0777 -pe 's/^Name : (.*)\nVersion :(.*)\nDescription : ((?!None).*)?(?:.|\n)*?Groups :((?! \(None\)$)( )?.*)?(?:.|\n(?!Name))+/$1$2$4\n    $3/gm' | grep -A1 --color -P "^[^\s]+"

答案2

该命令在同一行给出描述。

expac -H M '%-20n\t%10d' $(pacman -Qe)

它是由一些发现的命令组成的这里在 archwiki 中。

相关内容