6

我正在尝试比较几台运行 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 命令来获取这个输出并每行打印三个字段?

我曾尝试搜索类似的示例,但我只发现人们将一根长线分成几列的情况。

4

1 回答 1

8

如果保证每不包含空格,那么这种方法可能会奏效:

$ 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
于 2013-09-23T16:47:43.507 回答