Michael Schröpl: Gutes Programm zum Ersetzen von Strings über mehrere Dateien

Beitrag lesen

Hi Maik,

Weiß jemand ein gutes Programm, mit dem ich über mehrere Dateien ersetzen kann. Das ganze mit regulären Ausdrücken und einfangen von Textteilen, die ich dann im Ersatzstring wiederverwenden kann. Und das ganze mit sehr umfangreichen Optionen zum auswählen von Dateien (auch wieder über regex etc.).

ich mache so etwas mit meinem Editor (Textpad), mit dem ich auch Webseiten und Programme bearbeite. Diese Funktion brauche ich zwar nicht oft, aber durchaus alle paar Wochen mal. Und sie hat mir schon ein paarmal erspart, jeweils ein kleines Perl-Programm zu schreiben.

Textpad erledigt Deine Aufgabe in folgenden Schritten:

1. Suche nach einer Zeichenkette (darf regular expressions enthalten) in einem Verzeichnisbaum, von dem ich Wurzelverzeichnis und Ausdruck für Dateiname angeben kann.
Das erzeugt in einem Editor-Puffer eine Liste aller Trefferzeilen (jede einzelne wäre anklickbar und würde den Inhalt der Datei in einen weiteren Puffer laden und den Cursor auf die Trefferstelle setzen) - oder wahlweise nur aller Dateien, in denen mindestens ein Treffer vorkam.

2. Aus dem Kontextmenü dieses Puffers: "Lade alle diese Dateien".
(Mein Arbeitsplatz-PC hat _viel_ RAM ... aber auch daheim auf meinem 128-MB-Rechner lade ich schon mal 500 oder 1000 HTML-Dokumente auf einmal für eine solche Operation.)

3. Suchen und Ersetzen der Zeichenkette über eine normalen "Ersetzen"-Dialog, in dem man per Checkbox die Option "in allen Puffern" ankreuzen kann; regular expression und Verwendung des gematchten Ergebnisses sind erlaubt.
An dieser Stelle wären auch feinere Operationen als der "Rundumschlag" möglich - beispielsweise die geplante Ersetzung erst mal in einem der vielen Puffer Treffer für Treffer durchzuführen (Undo-Funktion verfügbar per Cntrl-Z) und zu kontrollieren, ob es wirklich das ist, was ich will.

4. "Alle Puffer speichern" (ein Menü-Eintrag, oder per Tastatur: Cntrl-Shift-S).

Viele Grüße
      Michael

--
T'Pol: I apologize if I acted inappropriately.
V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
(sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)