我正在运行(相当近期)基于Debian的发行版的系统上。
我想生成一个与特定模式匹配的所有已安装软件包的简单列表。我可以通过运行说
apt list --installed "linux-image-*" | cut -d/ -f1
但是我得到了我不关心的行,例如:
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Listing...
所以也许我最好不要使用apt
。我可以像这样运行dpkg-query:
dpkg-query --showformat='${Package}\n' --show "linux-image*"
但这不仅限于已安装的软件包。我可以用
dpkg-query --list "linux-image-*" | grep "ii"
但是然后我需要做大量的文本处理,谁能相信这些空间,对吗?
因此,底线是:获取与模式匹配的已安装软件包列表的正确方法是什么?
注意事项:
- 如果它可以是一个合适的正则表达式,而不只是一个shell glob,则可以加分。
- 不得不解析文本似乎不是一个理想的解决方案。如果这是您的建议,请说明为什么没有更好的方法。
aptitude search
,并apt list
在这种情况下没有。