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-ID: 271729

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

Ausgedruckt am: 25.11.2024 um 06:11 Uhr

114757
114757 11.05.2015 aktualisiert um 14:14:10 Uhr
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