我正在尝试比较几台运行CentOS 6.4的计算机上安装的软件包列表。 yum list installed
的输出没有很好地排列成三列,例如:
ImageMagick.x86_64 6.5.4.7-6.el6_2 @base MAKEDEV.x86_64 3.24-6.el6 @anaconda-CentOS-201303020151.x86_64/6.4 ModemManager.x86_64 0.4.0-3.git20100628.el6 @anaconda-CentOS-201303020151.x86_64/6.4 NetworkManager.x86_64 1:0.8.1-43.el6 @anaconda-CentOS-201303020151.x86_64/6.4 NetworkManager-glib.x86_64 1:0.8.1-43.el6 @anaconda-CentOS-201303020151.x86_64/6.4
长行被包装以容纳80列,这意味着如果我sort
这个文件,某些包的信息将被加扰.. 是否有一个简单的awk命令来获取此输出并打印每行三个字段?
我尝试过搜索类似的例子,但我只找到人们将一条长行拆分成列的情况。
答案 0 :(得分:7)
如果确保每个列都不包含空格,那么这种方法可能会起到作用:
$ yum list installed | xargs -n3 | column -t
ImageMagick.x86_64 6.5.4.7-6.el6_2 @base
MAKEDEV.x86_64 3.24-6.el6 @anaconda-CentOS-201303020151.x86_64/6.4
ModemManager.x86_64 0.4.0-3.git20100628.el6 @anaconda-CentOS-201303020151.x86_64/6.4
NetworkManager.x86_64 1:0.8.1-43.el6 @anaconda-CentOS-201303020151.x86_64/6.4
NetworkManager-glib.x86_64 1:0.8.1-43.el6 @anaconda-CentOS-201303020151.x86_64/6.4