2013-09-23 97 views
2

我想比較運行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

它不是;看我的示例行(第3-4行和第6-7行)。每個軟件包都有三個與之關聯的字段,如果該行的長度超過80個字符,並且所有三個字段都被分割。 – andyras

回答

3

如果每個保證不會包含空格,則這種做法可能會做的伎倆:

$ 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 
+1

比awk好!我知道每個領域都沒有空間,所以這個工作很完美。 – andyras