GNU/Linux >> Belajar Linux >  >> Linux

ekstrak waktu rata-rata dari ping -c

Salah satu caranya adalah dengan menambahkan potongan pada apa yang Anda miliki di sana.

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

Ini mungkin cocok untuk Anda:

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

Solusi berikut hanya menggunakan Bash (membutuhkan Bash 3):

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

Untuk ekspresi reguler lebih mudah dibaca (dan ditangani) jika disimpan dalam variabel:

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}' akan bekerja dengan baik.

Opsi "-F" digunakan untuk menentukan pemisah kolom.


Linux
  1. Tingkatkan dari CentOS 6 ke CentOS 7

  2. Ekstrak Nilai Dari Terminal?

  3. gImageReader – Ekstrak Teks dari Gambar dan PDF di Linux

  1. Bagaimana cara mengekstrak satu potongan byte dari dalam file?

  2. Bagaimana cara mengekstrak waktu durasi dari keluaran ffmpeg?

  3. Bagaimana cara mengekstrak teks dengan OCR dari PDF di Linux?

  1. Bagaimana Cara Mengekstrak Log Antara Dua Cap Waktu?

  2. Bagaimana cara mengukur waktu eksekusi rata-rata sebuah skrip?

  3. Ekstrak jalur yang hilang dari bash array jalur