Bonjour,
Voici une ligne de commande qui permet de lancer gnuplot pour présenter
des délais de réponse au ping, sans fichier temporaire, ni *.plot :
gnuplot -p -e "
set xdata time;
set timefmt '%s';
set xrange [ '$(date +%s)' : '$(date -d 'now +30 seconds' +%s)' ];
plot '-' using 1:2 with line title 'ping google';" < <(
(
ping -c 30 -n google.com |
sed -u 's/^64.*time=\([0-9.]\+\) .*$/\1/p;d' |
tee >(sed -u 's/.*/now/'| stdbuf -oL date -f - +d%s)
) | sed -u 'N;s/\n/ /;s/\([0-9.]\+\) d\([0-9]\+\) */\2 \1/;s/d//' |
tee >(printf "%(%T)T %s\n" $(</dev/stdin) |
column -c $COLUMNS >&2 )
)
Mise en page et exemple en image: http://stackoverflow.com/a/40159300/1765658
Comme d'habitudes, cette "petite" ligne est bourrée de trucs et autres
bashismes...
En particulier, la commande
`printf "%(...)T..." $(</dev/stdin)`
qui, par oposition à
`xargs printf ...`
permet d'utiliser la fonction printf interne de bash, plutôt que
/usr/bin/printf (qui ne connait pas "%(...)T" ).
Cependant, je doute que cette syntaxe soit aussi robuste que `xargs`!!
--
Félix Hauri - <[email protected]> - http://www.f-hauri.ch
_______________________________________________
gull mailing list
[email protected]
http://forum.linux-gull.ch/mailman/listinfo/gull