2017-03-07 44 views
0
[[email protected] ~]# xm list 

Name          ID Mem VCPUs  State Time(s) 

0004fb00000600000484f2c141c45ebd    2 32768  8  r----- 17545619.9 
0004fb000006000010777a59f9d0789a   568 33083  4  -b---- 92648.9 
0004fb00000600001ebd7c8a657da3a7   504 4096  2  r----- 164842.4 

現在我需要追加一欄說:「簡單名稱」在最後。我怎樣才能通過shell腳本實現它?添加列

+0

什麼應爲本'簡單Name'?每條線的字符串究竟是什麼? – Alfe

回答

0

如何:

xm list | while IFS='' read x; do printf "%-83s %s\n" "$x" "Simple Name"; done 
Name          ID Mem VCPUs  State Time(s)  Simple Name 
Domain-0          0 1793  2  r----- 1815788.7  Simple Name 
18732649712347       4563 16384  1  r----- 3553.7  Simple Name 
86734762346293       4567 16384  1  r----- 2967.5  Simple Name 
98634963425246       4569 8192  8  r----- 11244.8  Simple Name 
32472034857723045974      2348 4000  8  r----- 11252960.7 Simple Name 
2234827345084        535 128000 32  r----- 55286918.7 Simple Name 
947305273405782034523457      16000  1    30.6  Simple Name 
+0

這是非常好的建議。但是如果「簡單名稱」是可變的。爲前。第1行是其測試VM1,第2行是其開發VM2。我怎樣才能把變量值在每一行。 – Antriksh

+0

你已經在變量'$ x'中有了一行。你可以打印任何你喜歡的東西,而不是「簡單的名字」。 G。 '「$ {x:0:4}」'獲得該行的前4個字符。或''$(echo「$ x」| grep -o'r .....')「'來獲取狀態列。這完全取決於你。這個答案只是回答如何添加列(因爲這是你問的),而不是如何爲這個列導出一些值(因爲你沒有要求這樣)。 – Alfe