与Add Column to text file using Heading value ( mutliple Heading in the file )类似,我想提取有提到服务器的数据,转移到一行。
示例数据
server1.domain.com
INFO XYUS
OTHER INFO XYZ
IP 1.2.3.4 ( name1.domain.com )
IP 5.4.3.1 ( name1a.domain.com )
server2.domainlong.com
INFO 21323213
OTHER INFO XYZ
IP 4.2.3.4 ( nameS.domain.com )
我需要:
server1.domain.com,1.2.3.4,name1.domain.com
server1.domain.com,5.4.3.1,name1a.domain.com
server2.domainlong.com,4.2.3.4,nameS.domain.com
所以基本上用英语。
同样,这可能很简单 awk 但我不是专家......
提前感谢!
答案 0 :(得分:1)
以下awk
命令可以解决这个问题:
awk '/domain.*\.com$/{d=$0}/IP/{printf "%s,%s,%s\n",d,$2,$4}' file
说明:
domain.*\.com
结尾,我们会将其存储到变量d
IP
,我们会打印ip和主机名以及d