Ich verwende den Ausdruck (query-replace-regexp "from" "to")
regelmäßig, wenn große Änderungen in einer Textdatei vorgenommen werden.Emacs, alle Zeilen entfernen, die nicht übereinstimmen?
Ich möchte einen regulären Ausdruck, wenn einer existiert, zum Entfernen aller Zeilen, die nicht übereinstimmen übereinstimmen. In einer RedHat SPEC-Datei zum Erstellen eines RPM möchte ich zum Beispiel nur die Zeilen, die mit /^Patch/
in ihnen beginnen (und alle nicht übereinstimmenden Zeilen löschen). Einfach genug mit grep -E '^Patch'
aber gibt es einen Weg in Emacs?
Ich habe versucht:
(query-replace-regexp "^\\(?!Patch\\)[^\r\n]*$" "")
ohne Erfolg (negativer-Look-Ahead erscheint nicht unterstützt).
Irgendwelche Ideen?
Das hat funktioniert, danke! –