答案1
dpkg
通过缩小输出表的列数来优化其输出以适应您的终端宽度,如您所见,以避免长行换行。
您可以通过例如将其输出通过管道传输来简单地防止这种情况cat
,它本身不执行任何操作(仅将其输入复制到其输出),但会断开dpkg
的输出与终端的连接,这样它就无法知道其宽度并且不会优化任何东西:
dpkg -l | cat
当然,如果您将其通过管道传输到其他任何管道进行进一步处理,也会发生同样的断开连接,无需额外用作cat
更长管道的一部分。
答案2
dpkg -l
针对您的终端宽度优化其输出。因此,请dpkg -l
考虑宽度。
env COLUMNS=500 dpkg -l
答案3
您可以使用dpkg-query
,它对输出格式(包括字段宽度规范)提供明确的控制。
例如,在 50 列的字段宽度中打印软件包名称,后跟软件包版本:
dpkg-query -W -f='${binary:Package;-50}\t${Version}\n'
或者(如果您只需要完整的包名称)
dpkg-query -W -f='${binary:Package}\n'
答案4
你可以使用
apt list --installed
反而。