dpkg-query 只显示已安装的包

dai*_*isy 2 ubuntu debian dpkg

我正在尝试使用自定义格式列出已安装的软件包,

dpkg-query -f '${Package}###${Version}\n' -W '*'
Run Code Online (Sandbox Code Playgroud)

但它也打印那些被删除的。

有什么办法可以过滤掉它们吗?我试图避免做一个grep -v '###$'

Ste*_*itt 7

如果删除包名称模式,dpkg-query将只列出已安装或配置的包:

dpkg-query -f '${Package}###${Version}\n' -W
Run Code Online (Sandbox Code Playgroud)

这给出了与您推定的相同的结果grep


GAD*_*D3R 5

您可以使用--showformat选项列出已安装的软件包 + 版本:

dpkg-query --showformat='${Package}\t${Version}\n' --show 
Run Code Online (Sandbox Code Playgroud)