PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zahl aus Zeile auslesen (awk | sed)



musketaquid
03-05-2006, 00:34
Folgende Eingabe:

Front Right: Playback 22 [71%] [on]

Ich möchte nur die Prozentzahl auslesen. Nun habe ich mir aus mehreren Beiträgen was zusammengebastelt:

awk '{ print $5; }' | sed s/[^0-9]//g

awk und sed? Muss das sein?
Hat einer vieleicht eine Idee, wie ich mit einem Befehl auskomme? Da das später in einem Script jede Sekunde aufgerufen wird, ist es doch besser so wenig Befehle wie möglich zu verwenden.

sagi
03-05-2006, 00:51
sed 's/.*\[\(.*\)%\].*/\1/'

musketaquid
03-05-2006, 13:22
Super! Das klappt.
Und ich glaub, ich habs auch noch soweit kappiert ;)
Danke!

colo
05-05-2006, 14:24
pipe durch `egrep -o "[0-9]+%"` macht auch, was du willst.

musketaquid
05-05-2006, 15:04
Yupp, das geht auch.
Aber die Option -o ist in meiner manual page nicht erklärt.
Kannst du mir vielleicht sagen, was das -o macht?

colo
05-05-2006, 19:39
-o, --only-matching
Show only the part of a matching line that matches PATTERN.