Dois erros:
-
[0-9]6
deve ser[0-9]{6}
, o que significa corresponder a 60-9
caracteres - as frações de segundo. -
Você está usando expressões regulares estendidas, portanto, é necessário usar o sinalizador -r com sed para evitar erros como:
sed: -e expression #1, char 74: invalid reference on 's' command's RHS
Os comandos corrigidos são:
pingn -DO 10.0.0.1 | sed -r 's/(.*)(1[0-9]{9}.[0-9]{6})(.*)/echo $(date -d @ +"%d-%m-%Y %T %z") /e'
E a saída será neste formato:
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
...
Note que pingn
não é o comando normal para o ping. Tem certeza de que não está querendo dizer ping
?