Verwenden awk
oder sed
wie kann ich Linien auswählen, die zwischen zwei verschiedenen Markierungsmustern auftreten? Es können mehrere Abschnitte mit diesen Mustern markiert sein.
Zum Beispiel: Angenommen, die Datei enthält:
abc
def1
ghi1
jkl1
mno
abc
def2
ghi2
jkl2
mno
pqr
stu
Und das Startmuster ist abc
und das Endmuster ist mno
Also, ich brauche die Ausgabe als:
def1
ghi1
jkl1
def2
ghi2
jkl2
Ich benutze sed, um das Muster einmal anzupassen:
sed -e '1,/abc/d' -e '/mno/,$d' <FILE>
Gibt es eine Möglichkeit in sed
oder awk
es bis zum Ende der Datei wiederholt zu tun?
awk '/abc/{a=1}/mno/{print;a=0}a' file
.