Mailinglist Archive: opensuse-de (4904 mails)
| < Previous | Next > |
Re: grep und cat
- From: Axel Heinrici <axel.foley-beverly-hills@xxxxxx>
- Date: Wed, 5 May 2004 09:23:36 +0200
- Message-id: <200405050923.36152.axel.foley-beverly-hills@xxxxxx>
Hi
On Tuesday 04 May 2004 23:27, Thomas Lewandowski wrote:
> Holger Daehre schrieb:
> >cat /proc/net/dev| grep "eth0:"|awk -F " " '{sub(" eth0:",""); print
> > "TX: " (($9)/1024)/1024 " MB"}'
> >cat /proc/net/dev| grep "eth0:"|awk -F " " '{sub(" eth0:",""); print
> > "RX: " (($1)/1024)/1024 " MB"}'
>
> Gute Idee nur bei mir muss es so lauten .. nur leider bekomme ich die
> Ausgabe wieder in Bytes .. und ich will sie in MB haben ....
Das ist schon geändert! Beachte das "/1024)/1024" das macht aus Bytes
MB.
> Wie kann ich das ändern ...
> Leider gibt es keine rx_mb oder so ....
Du scheinst unbedingt nach einer Möglichkeit zu suchen den "xxx
MB"-Ausdruck in der Ausgabe von ifconfig rauszufischen. Das ist aber
gar nicht nötig. Man kann das doch auch aus den bytes ausrechnen
lassen.
In awk ist übrigens ein grep eingebaut. Die Manpage von awk liest sich
zugegebenermaßen nicht gerade angenehm. Aber da muss man durch :-)
Man kann jede Zeile mit einem pattern anfangen und { action statement }
hinten dran setzten. Patterns in // werden als regex wie in egrep
aufgefasst. Die action wird nur bei positivem match ausgeführt.
Auch sub ist unnötig weil man sich mit $2 auch die zweite Spalte
ausgeben lassen kann.
cat /proc/net/dev| awk '/eth0/ {print "RX: " ($2)/1024/1024 " MB"}'
In der zehnten Spalte stehen die Transmittierten Bytes.
cat /proc/net/dev| awk '/eth0/ {print "TX: " ($10)/1024/1024 " MB"}'
Dennoch sollte man beachten, dass ifconfig nicht genau ist. Insbesondere
bei ppp-devices in Verbindung mit dial on demand geht das komplett in
die Hose.
mfg
Axel
On Tuesday 04 May 2004 23:27, Thomas Lewandowski wrote:
> Holger Daehre schrieb:
> >cat /proc/net/dev| grep "eth0:"|awk -F " " '{sub(" eth0:",""); print
> > "TX: " (($9)/1024)/1024 " MB"}'
> >cat /proc/net/dev| grep "eth0:"|awk -F " " '{sub(" eth0:",""); print
> > "RX: " (($1)/1024)/1024 " MB"}'
>
> Gute Idee nur bei mir muss es so lauten .. nur leider bekomme ich die
> Ausgabe wieder in Bytes .. und ich will sie in MB haben ....
Das ist schon geändert! Beachte das "/1024)/1024" das macht aus Bytes
MB.
> Wie kann ich das ändern ...
> Leider gibt es keine rx_mb oder so ....
Du scheinst unbedingt nach einer Möglichkeit zu suchen den "xxx
MB"-Ausdruck in der Ausgabe von ifconfig rauszufischen. Das ist aber
gar nicht nötig. Man kann das doch auch aus den bytes ausrechnen
lassen.
In awk ist übrigens ein grep eingebaut. Die Manpage von awk liest sich
zugegebenermaßen nicht gerade angenehm. Aber da muss man durch :-)
Man kann jede Zeile mit einem pattern anfangen und { action statement }
hinten dran setzten. Patterns in // werden als regex wie in egrep
aufgefasst. Die action wird nur bei positivem match ausgeführt.
Auch sub ist unnötig weil man sich mit $2 auch die zweite Spalte
ausgeben lassen kann.
cat /proc/net/dev| awk '/eth0/ {print "RX: " ($2)/1024/1024 " MB"}'
In der zehnten Spalte stehen die Transmittierten Bytes.
cat /proc/net/dev| awk '/eth0/ {print "TX: " ($10)/1024/1024 " MB"}'
Dennoch sollte man beachten, dass ifconfig nicht genau ist. Insbesondere
bei ppp-devices in Verbindung mit dial on demand geht das komplett in
die Hose.
mfg
Axel
| < Previous | Next > |