xieme-art/content/articles/2024/bash_printf/files/script3_rematch.sh

29 lines
659 B
Bash

#!/usr/bin/env bash
PING_ITER=16
# shellcheck disable=2317
command() {
local -r host=${1?"first parameter must be an host"}
local -r iteration=${2?"second parameter must be an iteration number"}
local -r cmd=(ping -c "${iteration}" "${host}")
"${cmd[@]}"
}
parse_output() {
while read -r line; do
if [[ "$line" =~ icmp_seq=([[:digit:]]{1,}).*time=(.*) ]]; then
printf "séquence: %s sur %s temps:%s\n" \
"${BASH_REMATCH[1]}" \
"$PING_ITER" \
"${BASH_REMATCH[2]}"
fi
done
}
main() {
command "aquilenet.fr" "$PING_ITER" > >(parse_output)
}
main
exit 0