"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

grep frage

Moesli 13.09.2012 - 09:22 1566 6
Posts

Moesli

goes Linux
Avatar
Registered: Sep 2002
Location: Salzburg
Posts: 1328
meine datei sieht so aus:

Code:
.
..
== ???
asd
asd
sad
asd
as
adf
af
== XYZ
xsdf
saf
sadf
as
asf
asd
== ???
ads
fas
asf
sdafs
ad
asf
== ???
sdf
sd
d
s
d
..
.

ich hätte nun gerne alle Zeilen Zwischen, "== XYZ" und dem nächsten "==" - wobei "==" nicht vorhanden sein muss wenn "== XYZ" am Schluss steht....

== XYZ
xsdf
saf
sadf
as
asf
asd
== ???

die Anzahl der Zeilen ist natürlich nicht immer gleich,..
habt ihr eine idee ?
Bearbeitet von Moesli am 13.09.2012, 09:51

XXXprod

I'm gonna be made!
Avatar
Registered: Jan 2003
Location: Vienna
Posts: 945
Mit Reg(ular)Ex(pressions) würd ich sowas glaub ich lösen können. Keine Ahnung ob Grep das unterstützt.

Lg, XXX

click to enlarge
Bearbeitet von XXXprod am 13.09.2012, 09:41

Moesli

goes Linux
Avatar
Registered: Sep 2002
Location: Salzburg
Posts: 1328
ja kann es - wie würdest du es machen ? muss nicht zwingend grep sein,..

XXXprod

I'm gonna be made!
Avatar
Registered: Jan 2003
Location: Vienna
Posts: 945
Sorry - siehe Screenshot im letzten Post. :)

/Edit: Leider gibt es zwischen verschiedenen RegEx Varianten unterschiedliche Funktionsumfänge - ich verwende .NET.

Hier noch der Regex-Tester: Regex-Lab

Lg, XXX
Bearbeitet von XXXprod am 13.09.2012, 09:45

Moesli

goes Linux
Avatar
Registered: Sep 2002
Location: Salzburg
Posts: 1328
da bin ich wohl den Falschen Weg gegangen - many thx - eig. easy :) => solved

GrandAdmiralThrawn

XP Nazi
Avatar
Registered: Aug 2000
Location: BRUCK!
Posts: 3682
Bin ich wohl zu spät dran, aber ich setz es trotzdem noch rein (z.B.: Linux mit awk):

Code:
awk '/^== XYZ/ { flag=1 ; next } /== ???/ { flag=0 } flag { print }' <filename>
Bearbeitet von GrandAdmiralThrawn am 13.09.2012, 11:18

Moesli

goes Linux
Avatar
Registered: Sep 2002
Location: Salzburg
Posts: 1328
sehr elegant - ich sollte mich mal mit awk anfreunden :) - thx
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz