3 votos

La extracción de valor de latencia de salida de ping

Estoy tratando de tirar de un valor de latencia de ping con el siguiente comando:

ping -c 1 206.190.36.45 | awk -F" |=" '/time/{print $10"ms YH"}'

Pero quiero eliminar los dígitos después de la .

Así que en lugar de 282.117ms US

Me gustaría ver 282ms US

Lo que se necesita para ser agregado al comando para hacerlo?

3voto

Probablemente hay cientos de maneras de lograr esto con herramientas estándar de Unix. A la lista de sólo algunos de ellos:

# extending what you have
ping -c 1 206.190.36.45 | awk -F" |=" '/time/{print $10"ms YH"}' | sed -e 's/\..*ms/ms/

# using awk only
ping -c 1 206.190.36.45 | awk -F" |=" '/time/{printf "%i%s\n", $10, "ms YH"}'

# using sed instead
ping -c 1 206.190.36.45 | sed -n '/time=/s/.*time=\(.*\)\..*/\1ms YH/p'

# a rather different approach (just for the fun of it, not really recommended)
echo "$(ping -c 1 206.190.36.45 | fgrep time= | cut -d= -f 4 | cut -d. -f 1)ms YH"

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X