GNU/Linux >> Znalost Linux >  >> Linux

extrahovat průměrný čas z ping -c

Jedním ze způsobů je prostě přidat řez k tomu, co tam máte.

ping -c 4 www.stackoverflow.com | tail -1| awk '{print $4}' | cut -d '/' -f 2

Toto by vám mohlo fungovat:

ping -c 4 www.stackoverflow.com | sed '$!d;s|.*/\([0-9.]*\)/.*|\1|'

Následující řešení používá pouze Bash (vyžaduje Bash 3):

[[ $(ping -q -c 4 www.example.com) =~ \ =\ [^/]*/([0-9]+\.[0-9]+).*ms ]] \
&& echo ${BASH_REMATCH[1]}

Regulární výraz je snazší číst (a manipulovat s ním), pokud je uložen v proměnné:

regex='= [^/]*/([0-9]+\.[0-9]+).*ms'
[[ $(ping -q -c 4 www.example.com) =~ $regex ]] && echo ${BASH_REMATCH[1]}

ping -c 4 www.stackoverflow.com | tail -1| awk -F '/' '{print $5}' fungovalo by to dobře.

Volba "-F" se používá k určení oddělovače polí.


Linux
  1. Jak extrahovat text pomocí OCR z PDF na Linuxu?

  2. Jak měřit průměrnou dobu provádění skriptu?

  3. Extrahujte data z /etc/shadow

  1. Upgradujte z CentOS 6 na CentOS 7

  2. Extrahovat hodnoty z terminálu?

  3. Co brání počítači reagovat na ping?

  1. gImageReader – Extrahujte text z obrázků a PDF v Linuxu

  2. Jak extrahuji jeden kus bajtů ze souboru?

  3. Jak extrahovat dobu trvání z výstupu ffmpeg?