我有一个python脚本,它在ping提供的IPv4和IPv6地址列表时生成一个输出文件,如下所示:
Item Number: [item number]
host = [hostname]
PING [IPv4]
64 bytes from [dst.IP] icmp_seq=1 ttl=57 time=27.3 ms
64 bytes from [dst.IP] icmp_seq=2 ttl=57 time=26.8 ms
64 bytes from [dst.IP] icmp_seq=3 ttl=57 time=21.6 ms
.
.
.
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 21.604/25.248/27.333/2.589 ms
PING [IPv6]
64 bytes from [dst.IP] icmp_seq=1 ttl=61 time=31.3 ms
64 bytes from [dst.IP] icmp_seq=2 ttl=61 time=22.0 ms
64 bytes from [dst.IP] icmp_seq=3 ttl=61 time=22.8 ms
.
.
.
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 22.098/25.480/31.866/4.519 ms
$$$$$
显然括号内的信息是变量。我的目标是提取每个IP版本的主机名、ttl和rtt最小值,这些值位于“Item Number”和“$$$$”之间,并将其导出到csv文件的一行。在
我无法想出一个合适的正则表达式来实现这一点。到目前为止,我只能提取一个条目编号的所有信息,即上述标记之间的所有文本:
^{pr2}$此代码为每个匹配项省略“Item Number:”和“$$$$$”。在
任何帮助都将不胜感激。在
我建议您首先将文件拆分为块,然后按如下方式处理每个块:
这将产生如下csv文件:
^{pr2}$相关问题 更多 >
编程相关推荐