So wählen Sie Linien zwischen zwei Markierungsmustern aus, die bei awk / sed mehrfach auftreten können
Verwendenawk
odersed
Wie kann ich Linien auswählen, die zwischen zwei verschiedenen Markierungsmustern auftreten? Möglicherweise sind mehrere Abschnitte mit diesen Mustern markiert.
Zum Beispiel: Angenommen, die Datei enthält:
abc
def1
ghi1
jkl1
mno
abc
def2
ghi2
jkl2
mno
pqr
stu
Und das Startmuster istabc
und Endmuster istmno
Also brauche ich die Ausgabe als:
def1
ghi1
jkl1
def2
ghi2
jkl2
Ich benutze sed, um das Muster einmal abzugleichen:
sed -e '1,/abc/d' -e '/mno/,$d' <FILE>
Gibt es einen Weg hinein?sed
oderawk
mache ich das wiederholt bis zum ende der datei?