Hallo!
ich möchte mir gerne für RRD die Werte der Zeilen channel busy time,
receive time und transmit time aus dem Block [in use] mit grep, sed
und/oder awk extrahieren. Leider sind meine Kenntnisse mit diesem Tools
für solche Vorhaben nicht ausreichend. Hat mir jemand einen Tipp oder
einen Link auf ein ähnliches Skript welches ich dann für meine Zwecke
umbauen kann?
Besten Dank schonmal :)
Regel Nr. 1: Wenn man awk verwendet braucht man weder sed noch grep.
Beides kann awk genauso gut.
Ohne es ausprobiert zu haben (und lange nicht mehr gemacht), das
awk-Programm:
Liz schrieb:> Being survey fehlen die slashes. Wie geht days dass die angezeigt> werden?
Da hat wohl irgendeine Rechtschreibkorrektur zugeschlagen :)
Aber zur Frage. Direkt über dem Eingabefeld dieses Forums gibt es
Hinweise zur Formatierung. Dann klappts auch mit den Slashes.
Das Beispiel oben ist die Ausgabe von
$ iw reg wlan0 survey dump
Benötigt werden in einen Shell-Skript die 3 Werte busy, receive,
transmit time um diese an rrdupdate zu übergeben. Je WLAN-Kanal wird ein
Block ausgegeben, aber mich interessiert nur der, der in der Ausgabe mit
[in use] gekennzeichnet ist.
Wenn man davon ausgehen kann (bitte nachprüfen!), dass in der Ausgabe
der fragliche [in use]-Block immer als erstes erscheint, könnte man
auch einfach eine Kombination von grep und head benutzen:
Eine Alternative, wenn man sich darauf nicht verlassen kann, wäre,
zunächst nach der Zeile mit dem [in use] zu suchen und dann die
5 darauf folgenden Zeilen heraus zu filtern:
ergibt schonmal eine Zwischenausgabe aus der ich die Zahlen bestimmt
noch extrahiert bekomme.
Die AWK-Beispiele bekomme ich leider nicht zum laufen, glaub bin für AWK
zu doof. Hab den Code von Liz in test.awk kopiert.
Dann verwende noch dies
| tr '\n' ' '
Es ist ein Leerzeichen zwischen den zweiten '
Es generiert dann nur eine Zeile
Und mit
l awk '{ print $4,$9,$14 ;}'
Werden dann die Zahlen extrahiert.
Nummern muessen eventuell angepasst werden.
Es ist die Nummer des Wortes, angefangen mit 1
Wegen awk , eventuell gibt ed Probleme mit utf und ASCII,
Passiert mir auch öfters beim kopieren von code aus Website.
Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
Groß- und Kleinschreibung verwenden
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang