找到匹配的IP对并搜索下一个IP对,然后将其打印到csv文件的下一个字段

时间:2017-10-10 07:25:07

标签: perl csv

我有csv文件的某些行字段如下:

Field1, Field2, Field3, SourceIP, DestinationIP
check1, check2, check3, 10.0.0.1,10.0.0.2
check3, check4, check5, 10.0.0.3,10.0.0.4
check5, check6, check7, 10.0.0.2,10.0.0.3
check8, check9, check10, 10.0.0.5,10.0.0.6

如果目标是使用destinationIP=nextSourceIP搜索一行的IP对(SourceIP和DestinationIP)并打印到搜索行的下一个字段,我该如何在一行命令中执行? 继续搜索,直到不再有searchingIPdestinationIP

输出如下:

Field1, Field2, Field3, SourceIP, DestinationIP
check1, check2, check3, 10.0.0.1,10.0.0.2,10.0.0.3,10.0.0.4
check3, check4, check5, 10.0.0.3,10.0.0.4
check5, check6, check7, 10.0.0.2,10.0.0.3,10.0.0.4
check8, check9, check10, 10.0.0.5,10.0.0.6

我的脑海里只有这样的事情:

perl -F',' -ane 'print join(",",$F[0],$F[1],$F[2],$F[3],$F[4]) if $F[3]==$F[4]' filetarget.csv 

0 个答案:

没有答案