Forums Neueste Beiträge
 

Reihenfolge der Ergebnisse von grep aendern

18/11/2009 - 09:19 von Wolfgang Klein | Report spam
Hallo!

Ein Programm erzeugt eine Ausgabe in der Form

Dies ist Zeile1
Dies ist Zeile2
Dies ist Zeile3

Auf diese Ausgabe will ich grep loslassen, das nach bestimmten Wörtern
suchen soll. So weit, so unspektakulàr.

Aber: kann ich grep auch sagen, es möge die Ergebnisse der Suche in
anderer Reihenfolge pràsentieren, als sie gefunden wurden?

Im obigen Bsp sollte also der Befehl

programm | grep -E "Zeile3|Zeile1|Zeile2"

als Ergebnis liefern:

Dies ist Zeile3
Dies ist Zeile1
Dies ist Zeile2


Geht das direkt mit grep oder nur mit einer làngeren Röhre? (Sprich:
Weiterleitung der Ausgabe an weitere Befehle.)



Wolfgang Klein
Öffentlicher ,_, Public
PGP-Schlüssel (o,o) PGP-key
verfügbar! {' '} available!
#=#
 

Lesen sie die antworten

#1 Manuel Reimer
18/11/2009 - 09:46 | Warnen spam
Wolfgang Klein wrote:
Auf diese Ausgabe will ich grep loslassen, das nach bestimmten Wörtern
suchen soll. So weit, so unspektakulàr.

Aber: kann ich grep auch sagen, es möge die Ergebnisse der Suche in
anderer Reihenfolge pràsentieren, als sie gefunden wurden?



Nein. Grep arbeitet immer von oben nach unten und nur Zeilenweise.

Im obigen Bsp sollte also der Befehl

programm | grep -E "Zeile3|Zeile1|Zeile2"

als Ergebnis liefern:

Dies ist Zeile3
Dies ist Zeile1
Dies ist Zeile2



ausgabe=$(programm)
z1=$(echo "$ausgabe" | grep Zeile1)
z2=$(echo "$ausgabe" | grep Zeile2)
z3=$(echo "$ausgabe" | grep Zeile3)
echo $'$z3$z1$z2'

CU

Manuel

Alle wollen zurück zur Natur - aber keiner zu Fuß
Der Mensch erfand Maschinen, um sich damit die Arbeit zu erleichtern.
Nur leider hat er vergessen, rechtzeitig damit aufzuhören...
Beitràge mit *X-No-Html Header* kann ich weder lesen, noch beantworten!

Ähnliche fragen