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
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 Tomcat 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.ä.?
Zuletzt bearbeitet: