如果要实现 ping 加时间信息,然后还要实时保存到一个文件中,那么就与awk结合
1、只用ping信息
[root@zhang pingbackage]# ping 115.239.211.112
PING 115.239.211.112 (115.239.211.112) 56(84) bytes of data.
64 bytes from 115.239.211.112: icmp_seq=1 ttl=53 time=27.1 ms
64 bytes from 115.239.211.112: icmp_seq=2 ttl=53 time=27.0 ms
64 bytes from 115.239.211.112: icmp_seq=3 ttl=53 time=27.1 ms
64 bytes from 115.239.211.112: icmp_seq=4 ttl=53 time=27.0 ms
64 bytes from 115.239.211.112: icmp_seq=5 ttl=53 time=27.0 ms
2、命令行打印并加上时间信息
[root@zhang pingbackage]# ping 115.239.211.112 | awk '{ print $0"\t" strftime("%Y-%m-%d %H:%M:%S",systime())}'
PING 115.239.211.112 (115.239.211.112) 56(84) bytes of data. 2017-03-25 18:01:07
64 bytes from 115.239.211.112: icmp_seq=1 ttl=53 time=27.1 ms 2017-03-25 18:01:07
64 bytes from 115.239.211.112: icmp_seq=2 ttl=53 time=27.1 ms 2017-03-25 18:01:08
64 bytes from 115.239.211.112: icmp_seq=3 ttl=53 time=27.0 ms 2017-03-25 18:01:09
64 bytes from 115.239.211.112: icmp_seq=4 ttl=53 time=27.0 ms 2017-03-25 18:01:10
64 bytes from 115.239.211.112: icmp_seq=5 ttl=53 time=27.0 ms 2017-03-25 18:01:11
3、将这些信息打印到一个文件中
[root@zhang pingbackage]# ping 115.239.211.112 | awk '{ print $0"\t" strftime("%Y-%m-%d %H:%M:%S",systime()); fflush()}' >> outIP.info &
[2] 13707
注意:使用 fflush() ,不然文件不会有信息,因为awk也是有缓存的。