我正在运行以下命令,输出如下所示
和nova list
+--------------------------------------+---------------------------------------------------------------------+----------------+--------------------------------------------------+
| id | name | cidr | allocation_pools |
+--------------------------------------+---------------------------------------------------------------------+----------------+--------------------------------------------------+
| 1865fd7d-8971-4b2a-aaa3-c810189c2363 | test-inter-netwk | 192.168.1.0/24 | {"start": "192.168.1.2", "end": "192.168.1.254"} |
| 20214812-48f9-4938-bbd3-1b54cd796425 | App-Mgmt-subnet | 10.20.0.0/24 | {"start": "10.20.0.2", "end": "10.20.0.254"} |
| 7ab22397-e6a9-4a3d-96f0-9ebbce638f1e | vms2.1-net | 192.168.0.0/24 | {"start": "192.168.0.2", "end": "192.168.0.254"} |
| 8f97fc5e-53c6-4f29-9e4e-04f38a283452 | ddddd | 10.24.0.0/24 | {"start": "10.24.0.2", "end": "10.24.0.254"} |
| 990b338c-c980-456e-ade1-fc1a90f233e5 | Orch-Mgmt-subnet | 10.32.1.0/24 | {"start": "10.32.1.2", "end": "10.32.1.254"} |
| f386aca1-4c18-4b8e-9df7-a70111dea849 | TRANSIT-NEXTIP-Skyfall-eb07721aa407423e83e9641855f51e35-mseg-SUBNET | 10.22.0.0/24 | {"start": "10.22.0.2", "end": "10.22.0.254"} |
+--------------------------------------+---------------------------------------------------------------------+----------------+--------------------------------------------------+
命令
neutron subnet-list | awk -F "|" '{print $2}'
输出 输出以两个空行和文本" id"开头。和空行。我只需要id我正在努力删除前几行。
id
1865fd7d-8971-4b2a-aaa3-c810189c2363
20214812-48f9-4938-bbd3-1b54cd796425
7ab22397-e6a9-4a3d-96f0-9ebbce638f1e
8f97fc5e-53c6-4f29-9e4e-04f38a283452
990b338c-c980-456e-ade1-fc1a90f233e5
f386aca1-4c18-4b8e-9df7-a70111dea849
答案 0 :(得分:1)
您可以在awk语句中添加条件:
neutron subnet-list | awk -F "|" 'NR>2{print $2}'
只是说“如果记录编号(NR
)大于2,则继续打印。
如果您想在id
之后删除空白,则可以添加:
neutron subnet-list | awk -F "|" 'NR>2 && NR!=4{print $2}'
这增加了第一个条件“和记录号不是4”
您也可以删除任何空白$2
字段以保持简单:
neutron subnet-list | awk -F "|" '$2!=""{print $2}'
答案 1 :(得分:0)
使用sed仅打印匹配的lins(-n选项和p结尾)
在|
之后,在该行的开头查找匹配项
使用ip
搜索以至少3个非空格开头的字符串(跳过[^ ]\{3\}
但可能与其他中子输出有问题)。
添加下一个字符,直到要在\(..\)
中记住的字符串中的空格
使用.*
丢弃剩余的字符
将第一个(也是唯一一个)记住的字符串放回\1
。
neutron subnet-list |sed -n 's/^| \([^ ]\{3\}[^ ]*\).*/\1/p'