首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ping输出-人类可读的时代

Ping输出-人类可读的时代
EN

Ask Ubuntu用户
提问于 2016-01-15 19:40:48
回答 1查看 660关注 0票数 0

我希望ping的时间输出是人类可读的,目前我得到:

代码语言:javascript
复制
pingn -DO 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
[1452885114.787974] no answer yet for icmp_seq=1
[1452885115.795961] no answer yet for icmp_seq=2
[1452885116.803959] no answer yet for icmp_seq=3

我在谷歌上搜索过,尝试过这样的方法:

代码语言:javascript
复制
pingn -DO 10.0.0.1 | sed 's/(.*)(1[0-9]{9}.[0-9]6)(.*)/echo \1 $(date -d @\2 +"%d-%m-%Y %T %z") \3/e'

但我只能从sed那里得到错误。

谢谢,

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2016-01-16 12:29:45

两个错误:

  • [0-9]6应该是[0-9]{6},这意味着匹配6个0-9字符-秒的分数。
  • 您正在使用扩展正则表达式,因此您需要在sed中使用-r标志,以避免错误,例如: sed:-e表达式#1,char 74:命令RHS上的无效引用\3

更正后的命令如下:

代码语言:javascript
复制
pingn -DO 10.0.0.1 | sed -r 's/(.*)(1[0-9]{9}.[0-9]{6})(.*)/echo \1 $(date -d @\2 +"%d-%m-%Y %T %z") \3/e'

输出将采用以下格式:

代码语言:javascript
复制
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
[ 16-01-2016 12:02:59 +0000 ] 64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=2.28 ms
[ 16-01-2016 12:03:00 +0000 ] 64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.678 ms
...

注意,pingn不是ping的常规命令。你确定你不是指ping吗?

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/721525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档