Portál AbcLinuxu, 10. května 2025 07:38
ifstat
. Pravděpodobně dělám někde nějaký kopanec, ale zaboha nemůžu přijít na to, kde ifstat -i eth0 | grep "[0-9]\+[\.][0-9]\+"
, tak je všechno OK a na STDOUT mi naskakují dva sloupce s čísly.
Pokud ale přidám na konec ještě další rouru (např. ifstat -i eth0 | grep "[0-9]\+[\.][0-9]\+" | awk '{print $2}'
, tak jsem v *** a na STDOUTu je ticho jak na západní frontě... strace
strace
jsem z toho magor úplně. Všechno se tváří OK až na to, že to nic nedělá (pokud pominu hlášky z strace
) ifstat
vypisuje na začátku sekvence "záhlaví", které potřebuju vymazat. Takže nejjednodušší filtr, co mě napadl je ifstat -i eth0 | sed -n /[\.]/p
(případně s grepem, je to jedno, chová se to stejně), čímž mi na výpis lezou jen čísla. A pak bych to potřeboval nasměrovat na standarni vstup skriptu, který mi vykresluje "realtime" graf (přes gnuplot
). Takže defacto tohle: ifstat -i eth0 | sed -n /[\.]/p | muj_gnuplot_skript
A problém je, že ty první dva příkazy si ten STDOUT syslí pro sebe okmažitě, jak za ně fláknu jakoukoliv rouru. Jakmile killnu ten ifstat
, tak mi ten poslední v řadě vyblije na výstup to, co očekávám. Ale do té doby ani ťuk.
ifstat > ifstat.log
a odebirat pres tail nebo ten gnuplot skript?
gnuplot
, ale co mě na tom především zaráží, že to nejde jednoduše (resp. ani složitě) řetězit pomocí klasické roury. Vysloveně mi to "rozmr*alo na atomy moje životní jistoty" a pořád jsem hledal chybu někde u sebe. Ale vypadá to, že krpa je někde jinde... :-|
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.