You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何优化sed命令实现从ping日志中提取时间与丢包率并合并为单行?

你可以利用sed的保持空间暂存时间信息,匹配到丢包率后再拼接输出,优化后的命令如下:

sed -r -n '/^... [0-9]+ ... [0-9]{4} [0-9]{2}:[0-9]{2}/{s/(... [0-9]+ ... [0-9]{4} [0-9]{2}:[0-9]{2}).*/\1/;h};/[0-9]+% packet loss/{s/.* ([0-9]+%) packet.*/\1/;x;G;s/\n/, /;p}' sample.log

命令逻辑说明:

  • 匹配到时间行时,先提取符合要求的时间字符串,用h命令存入保持空间暂存,不直接输出
  • 匹配到包含丢包率的统计行时,先提取丢包率数值,再用x命令交换保持空间和当前模式空间的内容,将暂存的时间取出
  • 用G命令把丢包率追加到时间字符串后,将默认的换行分隔符替换为, 后输出

执行上述命令即可直接得到你需要的「时间, 丢包率」格式的输出,无需额外管道拼接处理。

内容的提问来源于stack exchange,提问作者mrossw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:24:03