<div dir="ltr"><div>Hi guys.</div><div>I have a CSV file, which I created using an HTML export from a Check Point firewall policy.</div><div>Each rule is represented as several lines, in some cases. That occurs when a rule has several address sources, destinations or services.</div>

<div>I need the output to have each rule described in only one line.</div><div>It's easy to distinguish when each rule begins. In the first column, there's the rule ID, which is a number.</div><div><br></div><div>

Let me show you an example:</div><div><br></div><div>NO.;NAME;SOURCE;DESTINATION;VPN&nbsp;&nbsp;;SERVICE;ACTION;TRACK;INSTALL ON;TIME;COMMENT</div><div>1;;fwxcluster;mcast_vrrp;;vrrp;accept;Log;fwxcluster;Any;"VRRP;;*Comment suppressed*</div>

<div>;;;;;igmp**;;;;;</div><div>2;;fwxcluster;fwxcluster;;FireWall;accept;Log;fwxcluster;Any;"Management FWg;*Comment suppressed*</div><div>;;fwmgmpe**;fwmgmpe**;;ssh**;;;;;</div><div>;;fwmgm**;fwmgm**;;;;;;;</div><div>

3;NTP;G_NTP_Clients;cmm_ntpserver_pe01;;ntp;accept;None;fwxcluster;Any;*Comment suppressed*</div><div>;;;cmm_ntpserver_pe02**;;;;;;;</div><div><span class="" style="white-space:pre">        </span></div><div>What I need ,explained in pseudo code, is this:</div>

<div><br></div><div>Read the first column of the next line. If there's a number:</div><div><span class="" style="white-space:pre">    </span>Evaluate the first column of the next line. If there's no number there, concatenate (separating with a comma) \</div>

<div><span class="" style="white-space:pre">    </span>the strings in the columns of this line with the last one and eliminate the text in the current one</div><div><br></div><div>The output should be something like this:</div>

<div><br></div><div>NO.;NAME;SOURCE;DESTINATION;VPN&nbsp;&nbsp;;SERVICE;ACTION;TRACK;INSTALL ON;TIME;COMMENT</div><div>1;;fwxcluster,fwmgmpe**,fwmgm**;mcast_vrrp,fwmgmpe**,fwmgm**;;vrrp,ssh**;accept;Log;fwxcluster;Any;*Comment suppressed*</div>

<div>;;;;;;;;;;</div><div>;;;;;;;;;;</div><div>3;NTP;G_NTP_Clients;cmm_ntpserver_pe01,cmm_ntpserver_pe02**;;ntp;accept;None;fwxcluster;Any;*Comment suppressed*</div><div>;;;;;;;;;;</div><div><br></div><div>The empty lines are there only to be more clear, I don't actually need them.</div>

<div><br></div><div>Thanks!</div></div>