Eu acredito que isso não seja possível.
Dada a minha leitura do código-fonte de ping se o tamanho dos dados retornados for menor do que o tamanho dos dados enviados, sempre será impresso.
Meu palpite é que o horário é considerado inválido ou inútil devido a dados truncados.
Para esclarecimento: o condicional da linha acima é
if (cc < datalen+8) {
cc
representa o número de bytes recebidos e datalen
é o número fornecido com a opção -s
. Portanto, isso é verificar se o tamanho da resposta é menor que o tamanho enviado (1373 no seu segundo exemplo).
Outra coisa que eu notei é que o tempo é calculado no próximo bloco seguinte àquele que detecta os dados truncados. Após a linha que imprime o texto (truncated)
, a função retorna, então o bloco de temporização nunca é executado.
Não é realmente uma resposta para resolver seu problema, mas uma explicação de por que isso não pode ser feito.
A resposta de como não mostrar (truncated)
é: fazer o host remoto não truncar os pacotes.