Shell 从输出中删除列标题

Shell 从输出中删除列标题,shell,awk,sed,grep,Shell,Awk,Sed,Grep,我正在运行以下命令,输出如下所示 和新星名单 +--------------------------------------+---------------------------------------------------------------------+----------------+--------------------------------------------------+ | id | name

我正在运行以下命令,输出如下所示

和新星名单

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

您可以向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}'

使用sed仅打印匹配的LIN(-n选项和末尾的p)。
在行的开头,即
|
之后查找匹配项
使用
[^]\{3\}
搜索至少以3个非空格开头的字符串(跳过
ip
,但可能与其他中子输出有关)。 添加下一个字符,直到在
\(..\)

*

\1
放回第一个(也是唯一一个)记住的字符串

neutron subnet-list |sed -n 's/^| \([^ ]\{3\}[^ ]*\).*/\1/p'