grep -p # Paragraph

T

tom*de

Jungspund
Hallo,

Unix grep -p findet auch innerhalb von Abschnitten/Absätzen/Blöcken, also mehreren Zeilen, die durch Leerzeilen getrennt sind und gibt diese Blöcke aus. Linux kennt diese Option leider nicht.

Bsp.: Datei

111
aaa
ccc
z


222
bbb
ccc
Z

333
ddd
eee
111

Unter perl kann ich das nachstellen mit:

cat Datei | perl -000 -ne "print if m{111}" # grep -p # gibt Blöcke mit 111 aus
cat Datei | perl -000 -ne "print if !m{111}" # grep -vp # gibt Blöcke ohne 111 aus
cat Datei | perl -000 -ne "print if m{111|222}" # grep -pE # gibt Blöcke mit 111 oder 222 aus
cat Datei | perl -000 -ne "print if !m{111|222}" # grep -vpE # gibt Blöcke ohne 111 oder 222 aus


Mir fehlt hier noch ignoreCase -i
cat Datei | perl -000 -ne "print if m{[zZ]}" # grep -pi # gibt Blöcke mit z und Z aus

Habt ihr eine Idee, wie das einfach geht - ohne jeden Suchbegriff wie folgt tippen zu müssen:
Wort => [Ww][Oo][Rr][Tt] # oder ich automatisiere das Zerlegen in Groß/Klein?

Oder vielleicht mit sed o.ä.?
Danke Tom
 
Zuletzt bearbeitet:

Ähnliche Themen

Problem mit HSPA+ Modem Huawei E353 - Installation unmöglich?

X52 Hotas und udev

Amavis & Benachrichtigungen

roaming profile werden nicht mehr geladen

Zurück
Oben