rsadmchef
Goto Top

Sed, 4. zeile nach regexp ausgeben

Hallo Team,

Mein System ist Lubuntu 14.04 LTS

Ich benötige ein wenig sed - Hilfe.

Meine zu bearbeitende Datei
hat folgende Textblöcke:
...
M AAAA
M BBBB
M CCCC
M DDDD
N AAAA
N BBBB
N CCCC
N DDDD
...

... heißt dazwischen ist noch eine ganze Menge Text. Zeile M und N ( und weitere ) enthalten "AAAA", danach suche ich. Darauf soll die 4. Zeile dieser Blöcke , also M DDDD bzw. N DDDD aus gegeben werden.

Mein aktuelles Konstrukt:

sed -n '/[A-Z]* AAAA/,+4p gibt

M AAAA
M BBBB
M CCCC
M DDDD
N AAAA
N BBBB
N CCCC
N DDDD

aus. Was mache ich falsch ?

Danke für eure Hilfe.

mfG
rsadmchef.

Content-Key: 271729

Url: https://administrator.de/contentid/271729

Printed on: April 20, 2024 at 03:04 o'clock

Mitglied: 114757
114757 May 11, 2015 updated at 12:14:10 (UTC)
Goto Top
Moin,
mit awk kann ich helfen:
awk '{if($2 == "AAAA"){cnt=1}else{cnt+=1;if(cnt == 4){print $0}}}' Datei.txt
-edit
oder wenn die Zeile nicht nur den String "AAAA" enthält mit Regex die ganze Zeile auf Existenz des Strings prüfen
awk '{if($0 ~ /AAAA/){cnt=1}else{cnt+=1;if(cnt == 4){print $0}}}' info.txt
Gruß jodel32