PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vim: alle zeilen die NICHT ... enthalten löschen.



panzi
27-06-2003, 14:54
Wie kann ich vim sagen das er alle Zeilen die nicht "violent femmes" enthalten (case-insensitive) löschen soll?

hab folgendes probiert:
:g/[^\([vV]iolent [fF]emmes\)]/d

er sagt dann:
\) Unmatched


Was mach ich falsch?

panzi
27-06-2003, 15:00
Hab's jetzt so gelöst, würd aber trotzdem gern ne lösung mit'n vim haben:

$ grep '[Vv]iolent [Ff]emmes' femmes.txt > femmes2.txt

ThorstenS
17-07-2003, 14:50
du hattest es fast:

:g/[vV]iolent [fF]emmes/d

Bei grep gibt es übrigens den Schalter i für 'case insensitive' ;)

Hans-Georg Normann
17-07-2003, 22:33
Original geschrieben von ThorstenS
du hattest es fast:

:g/[vV]iolent [fF]emmes/d

Bei grep gibt es übrigens den Schalter i für 'case insensitive' ;)
Nicht ganz, Es sollen ja alle Zeilen gelöscht werden. auf die das Suchmuster nicht passt.
:1,$g!/[vV]iolent [fF]emmes/dUnd der Bereich (1,$ = von Zeile 1 bis Dateiende) sollte auch angegeben werden.

Hans