首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将第一行与下几行结合起来?

问如何将第一行与下几行结合起来?
EN

Unix & Linux用户
提问于 2019-10-15 14:36:42
回答 1查看 33关注 0票数 1

我已经过滤并生成了如下CSV文件的数据:

代码语言:javascript
复制
%%TRACERT: IPTYPE=IPv4, LOCALIP4="10.10.10.10", PEERIP4="20.20.20.20", MAXHOP=10;%%
1,3,1,1,1,10.10.10.10
2,3,1,1,1,10.37.112.5
3,0,NULL,NULL,NULL,Timeout
4,0,NULL,NULL,NULL,Timeout
5,0,NULL,NULL,NULL,Timeout
6,3,1,1,1,20.20.20.20
%%TRACERT: IPTYPE=IPv4, LOCALIP4="30.30.30.30", PEERIP4="40.40.40.40", MAXHOP=10;%%
1,3,1,1,1,30.30.30.30
2,3,1,1,1,30.30.30.30
3,3,1,1,1,30.30.30.30
4,0,NULL,NULL,NULL,Timeout
5,3,1,1,1,40.40.40.40
6,3,1,1,1,40.40.40.40
7,3,1,1,1,40.40.40.40
%%TRACERT: IPTYPE=IPv4, LOCALIP4="50.50.50.50", PEERIP4="60.60.60.60", MAXHOP=10;%%
1,3,1,10,1,50.50.50.50
2,3,1,1,1,50.50.50.50
3,0,NULL,NULL,NULL,Timeout
4,3,1,1,1,50.50.50.50
5,3,1,1,1,50.50.50.50
6,3,1,1,1,60.60.60.60
7,3,1,1,1,60.60.60.60
8,3,1,1,1,60.60.60.60

我希望每一个%%TRACERT行都能像这样填充啤酒花:

代码语言:javascript
复制
1,3,1,1,1,10.10.10.10,%%TRACERT: IPTYPE=IPv4, LOCALIP4="10.10.10.10", PEERIP4="20.20.20.20", MAXHOP=10;%%
2,3,1,1,1,10.37.112.5,%%TRACERT: IPTYPE=IPv4, LOCALIP4="10.10.10.10", PEERIP4="20.20.20.20", MAXHOP=10;%%
3,0,NULL,NULL,NULL,Timeout,%%TRACERT: IPTYPE=IPv4, LOCALIP4="10.10.10.10", PEERIP4="20.20.20.20", MAXHOP=10;%%
4,0,NULL,NULL,NULL,Timeout,%%TRACERT: IPTYPE=IPv4, LOCALIP4="10.10.10.10", PEERIP4="20.20.20.20", MAXHOP=10;%%
5,0,NULL,NULL,NULL,Timeout,%%TRACERT: IPTYPE=IPv4, LOCALIP4="10.10.10.10", PEERIP4="20.20.20.20", MAXHOP=10;%%
6,3,1,1,1,20.20.20.20,%%TRACERT: IPTYPE=IPv4, LOCALIP4="10.10.10.10", PEERIP4="20.20.20.20", MAXHOP=10;%%
1,3,1,1,1,30.30.30.30,%%TRACERT: IPTYPE=IPv4, LOCALIP4="30.30.30.30", PEERIP4="40.40.40.40", MAXHOP=10;%%
2,3,1,1,1,30.30.30.30,%%TRACERT: IPTYPE=IPv4, LOCALIP4="30.30.30.30", PEERIP4="40.40.40.40", MAXHOP=10;%%
3,3,1,1,1,30.30.30.30,%%TRACERT: IPTYPE=IPv4, LOCALIP4="30.30.30.30", PEERIP4="40.40.40.40", MAXHOP=10;%%
4,0,NULL,NULL,NULL,Timeout,%%TRACERT: IPTYPE=IPv4, LOCALIP4="30.30.30.30", PEERIP4="40.40.40.40", MAXHOP=10;%%
5,3,1,1,1,40.40.40.40,%%TRACERT: IPTYPE=IPv4, LOCALIP4="30.30.30.30", PEERIP4="40.40.40.40", MAXHOP=10;%%
6,3,1,1,1,40.40.40.40,%%TRACERT: IPTYPE=IPv4, LOCALIP4="30.30.30.30", PEERIP4="40.40.40.40", MAXHOP=10;%%
7,3,1,1,1,40.40.40.40,%%TRACERT: IPTYPE=IPv4, LOCALIP4="30.30.30.30", PEERIP4="40.40.40.40", MAXHOP=10;%%
1,3,1,10,1,50.50.50.50,%%TRACERT: IPTYPE=IPv4, LOCALIP4="50.50.50.50", PEERIP4="60.60.60.60", MAXHOP=10;%%
2,3,1,1,1,50.50.50.50,%%TRACERT: IPTYPE=IPv4, LOCALIP4="50.50.50.50", PEERIP4="60.60.60.60", MAXHOP=10;%%
3,0,NULL,NULL,NULL,Timeout,%%TRACERT: IPTYPE=IPv4, LOCALIP4="50.50.50.50", PEERIP4="60.60.60.60", MAXHOP=10;%%
4,3,1,1,1,50.50.50.50,%%TRACERT: IPTYPE=IPv4, LOCALIP4="50.50.50.50", PEERIP4="60.60.60.60", MAXHOP=10;%%
5,3,1,1,1,50.50.50.50,%%TRACERT: IPTYPE=IPv4, LOCALIP4="50.50.50.50", PEERIP4="60.60.60.60", MAXHOP=10;%%
6,3,1,1,1,60.60.60.60,%%TRACERT: IPTYPE=IPv4, LOCALIP4="50.50.50.50", PEERIP4="60.60.60.60", MAXHOP=10;%%
7,3,1,1,1,60.60.60.60,%%TRACERT: IPTYPE=IPv4, LOCALIP4="50.50.50.50", PEERIP4="60.60.60.60", MAXHOP=10;%%
8,3,1,1,1,60.60.60.60,%%TRACERT: IPTYPE=IPv4, LOCALIP4="50.50.50.50", PEERIP4="60.60.60.60", MAXHOP=10;%%
EN

回答 1

Unix & Linux用户

发布于 2019-10-15 14:47:07

使用任何sed,您都可以将%%TRACERT行存储在h旧空间中,并将它们存储在delete中,而其他行则获得附加G的保留空间,并用逗号替换换行符(由追加):

代码语言:javascript
复制
sed '/%%TRACERT/{h;d;};G;s/\n/,/' file.csv
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/546889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档