我已经过滤并生成了如下CSV文件的数据:
%%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行都能像这样填充啤酒花:
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;%%发布于 2019-10-15 14:47:07
使用任何sed,您都可以将%%TRACERT行存储在h旧空间中,并将它们存储在delete中,而其他行则获得附加G的保留空间,并用逗号替换换行符(由追加):
sed '/%%TRACERT/{h;d;};G;s/\n/,/' file.csvhttps://unix.stackexchange.com/questions/546889
复制相似问题