2016-02-12 36 views
0

以下是來自nova命令輸出的實例名稱列表。匹配字符串,其中初始部分變量和固定結束部分

nova list  

+--------------------------------------+-----------------------------------------+--------+------------+-------------+------------------------------------------+ 
| ID         | Name         | Status | Task State | Power State | Networks         | 
+--------------------------------------+-----------------------------------------+--------+------------+-------------+------------------------------------------+ 
| 6cdc00a7-cfe3-4bfe-bbb1-7980ac1c04c0 | haproxy-instance-vms22updateconfar       | ACTIVE | -   | Running  | Orch-Mgmt=10.32.1.40      | 
| d0528617-39cd-4098-b34c-0977f5a18414 | gunicon-instance-vms22updateconfar     | ACTIVE | -   | Running  | vms2.1-net=192.168.0.248 | 
| e89dd43d-8021-47c6-9f55-39d8bce3c11b | nsoshim-instance-vms22updateconfar       | ACTIVE | -   | Running  | App-Mgmt=10.20.0.126 | 
| b7ea9059-834c-4196-8706-54cfaab3d177 | haproxy-instance-vms22update      | ACTIVE | -   | Running  | App-Mgmt=10.20.0.89  | 
| 2d4d22e5-b844-413f-8d36-f8b3eb3dea32 | gunicon-instance-vms22update      | ACTIVE | -   | Running  | App-Mgmt=10.20.0.46  | 
| 41c4fdc0-3058-4e39-8207-2c02a611ee22 | nsoshim-instance-vms22update    | ACTIVE | -   | Running  | App-Mgmt=10.20.0.217      |     
       | 



SUBDOMAIN=vms22update 

nova list | grep "\-instance-$SUBDOMAIN" 

gunicon-instance-vms22updateconfar 
haproxy-instance-vms22updateconfar 
nsoshim-instance-vms22updateconfar 

gunicon-instance-vms22update 

haproxy-instance-vms22update 
nsoshim-instance-vms22update 

我想看看實例只vms22update

我試圖新星名單結束| grep「-instance -^$ SUBDOMAIN $」 它沒有列出任何東西。

+0

要獲得以'vms22update'結尾的所有行,您可以使用: 'nova list | grep -E「vms22update \ $」' – mnille

+0

@mnille它不能正常工作 –

+1

好吧,編輯後這是不同的輸出工作。試試這個: 'nova list | awk -F「|」 '{print $ 3}'| sed's/* $ //'| grep的-E 「vms22update \ $」' 1.獲取輸出 2.通過分割'|' 3.刪除空格 4. grep命令與'結束行vms22update' – mnille

回答

0

@Chris_vr:謝謝你的提示張貼我的評論作爲一個答案:

你可以試試這個:

nova list | awk -F"|" '{print $3}' | sed 's/ *$//' | grep -E "vms22update\$" 
  1. 通過|
  2. 通過執行nova list
  3. 分割獲取輸出刪除空格
  4. 以結尾的行的grep