我有一个CSV文件,它是我使用Check-Point防火墙策略的HTML导出创建的。 在某些情况下,每个规则都表示为几行。当规则具有多个地址源、目标或服务时,会发生这种情况。 我需要在输出中只在一行中描述每个规则。 很容易区分每一条规则何时开始。在第一列中,是规则ID,它是一个数字。在
这里有一个例子。绿色表示应移动的字符串:
http://i.imgur.com/i785sDi.jpg
我给你举个例子:
NO.;NAME;SOURCE;DESTINATION;SERVICE;ACTION;
1;;fwgcluster;mcast_vrrp;vrrp;accept;
;;;;igmp;;
2;Testing;fwgcluster;fwgcluster;FireWall;accept;
;;fwmgmpe;fwmgmpe;ssh;;
;;fwmgm;fwmgm;;;
我需要的是,用伪代码解释的是:
读下一行的第一栏。如果有号码: 计算下一行的第一列。如果没有数字,连接(用逗号分隔)\ 此行列中的字符串与最后一个字符串并消除当前字符串中的文本
输出应该如下所示:
^{pr2}$谢谢!在
格雷姆,再次感谢,就在你编辑之前,我用下面的代码解决了这个问题。 但你让我看到了正确的方向!在
如果有人需要的话,这里有:
这应该能让你开始
编辑:考虑到您所需的输出,这应该可以让您接近目标。它有点粗糙,但它能满足你的大部分需求。它检查“No”键,如果它有值,它将启动一个记录。否则,它将把行中的任何其他数据与记录中的等效数据联接起来。最后,当一个新记录被创建时,旧记录会被追加到结果中,这也会在结尾处发生,以捕获最后一个项目。在
^{pr2}$相关问题 更多 >
编程相关推荐