On Tue, 11 Dec 2001, Jens Wolfgarten wrote:
Hier mal das Skript, dann sieht man besser, was ich machen will...
ifconfig > ifconfig.txt [..] cat ifconfig.txt | grep -A 8 eth1 | grep 'RX bytes' | awk '{print $3,$4}' | sed -n -e "s/(//p" | sed -n -e "s/)//p" | sed -n -e "s/Mb//p" | sed -n -e "s/ //p" > tx.txt
cat ifconfig.txt | grep -A 8 eth1 | grep 'RX bytes' | awk '{print $7,$8}' | sed -n -e "s/(//p" | sed -n -e "s/)//p" | sed -n -e "s/Mb//p" | sed -n -e "s/ //p" > rx.txt
URGS. Erstmal: dein ifconfig scheint ein anderes zu sein. Verrate mal welches OS,Distri und ifconfig du verwendest und wie die Ausgabe von ifconfig aussieht. Ansonsten kannst obiges gewurschtel auch mit einem einzigen sed machen, vorausgesetzt, du rufst ifconfig mit dem Device als Parameter auf. Bei 'meinem' ifconfig sieht die Ausgaben dann so aus: $ ifconfig ppp0 | tee /tmp/ifconfig.ppp0 ppp0 Link encap:Point-to-Point Protocol inet addr:62.224.98.72 P-t-P:193.158.145.109 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1524 Metric:1 RX packets:2554 errors:0 dropped:0 overruns:0 frame:0 TX packets:2704 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 $ sed -n '/RX[^:]*:/s/.*RX[^:]*:([^ ]*).*/\1/p' < /tmp/ifconfig.ppp0 2554 $ sed -n '/TX[^:]*:/s/.*TX[^:]*:([^ ]*).*/\1/p' < /tmp/ifconfig.ppp0 2704 Das Ergebnis kann man dann ja ggfs. mittels der MTU in Byte umrechnen. Ich wuerde ausserdem mit Variablen arbeiten: RX=`sed ... ` TX=`sed ... ` MTU=`sed ...`; RX=$[ $RX * $MTU ]; echo $RX > rx.txt TX=$[ $TX * $MTU ]; echo $TX > tx.txt RX_DIFF=$[ $RX - $LAST_RX ] TX_DIFF=$[ $TX - $LAST_TX ] Oder so.... Ach ja $[] ist eine alternative Schreibweise von $(( )). Wenn du also mal mehr info's liefern wuerdest... Dann sind bis evtl. auf das erste grep alle weiteren Befehle durch ein sed ersetzbar. -dnh -- Anything that happens, happens. --- Anything that, in happening, causes something else to happen, causes something else to happen. --- Anything that, in happening, causes itself to happen again, happens again. --- It doesn't necessarily do it in chronological order, though. --- Douglas Adams