grep frage

Seite 1 von 1 - Forum: Linux and other OS auf overclockers.at

URL: https://www.overclockers.at/linux/grep-frage_231588/page_1 - zur Vollversion wechseln!


Moesli schrieb am 13.09.2012 um 09:22

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 ?


XXXprod schrieb am 13.09.2012 um 09:32

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


Moesli schrieb am 13.09.2012 um 09:41

ja kann es - wie würdest du es machen ? muss nicht zwingend grep sein,..


XXXprod schrieb am 13.09.2012 um 09:43

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


Moesli schrieb am 13.09.2012 um 09:51

da bin ich wohl den Falschen Weg gegangen - many thx - eig. easy :) => solved


GrandAdmiralThrawn schrieb am 13.09.2012 um 09:59

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>


Moesli schrieb am 13.09.2012 um 11:18

sehr elegant - ich sollte mich mal mit awk anfreunden :) - thx




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025