2016-02-12 43 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