Text suchen und anderen Text in derselben Zeile ersetzen

Ich habe Code in einem Verzeichnisbaum mit vielen Unterverzeichnissen.

Die Funktion foo()benötigt zwei Parameter,. die im Allgemeinen für jeden Anruf unterschiedlich sein wird.

Ich möchte eine dritte hinzufügen, die jedem Anrufer eine Variable in einer Variablen mit dem Namen debug.

Ich möchte den Verzeichnisbaum rekursieren, jeden Aufruf von foo(x, y)or foo(a,b)or finden foo(1,2)und den debugParameter hinzufügen, sodass sie zu werden foo(x, y, debug)usw

Ich möchte ein kostenloses Windows-Programm, das mich dazu bringt, einen Dateinamen mit Platzhaltern zu suchen und durch den Verzeichnisbaum zu rekursieren, jede Zeile mit zu finden foo(und jede )zu zu ändern, debug)

Irgendwelche Ideen?

Antworten (1)

Verwenden Sie Notepad ++. Dort können Sie die Funktion „In Dateien suchen“ verwenden und eine Regex-Suche mit Ihrem Ersetzungsparameter durchführen.

Sie füllen den Stammverzeichnispfad aus, aktivieren die In all sub-foldersOption, markieren die Regular ExpressionOption und füllen den Parameter wie folgt aus:

Finde was:(foo\(.+?,.+?)\)

Ersetzen mit:$1, debug\)

Lolx! Ich wollte die Frage letzte Nacht vor dem Schlafengehen löschen, da ich genau zu diesem Schluss gekommen bin. Gut, dass Sie geantwortet haben, da andere jetzt danach suchen können. Ich lasse die Frage für den unwahrscheinlichen Fall offen, dass jemand eine Nicht-Regexp-Lösung hat. Wenn niemand einen gepostet hat, werde ich Ihnen die Antwort zusprechen. Willkommen an Bord!
Kein Tool für n00bs, dann :-/ Ich akzeptiere dies als Antwort, da es genau das tut, was ich will. Jetzt habe ich zwei Probleme :-)
Regex heheheheh :) Nehmen Sie sich eine Zeit, um es zu lernen, dann geht es zurück zu nur einem :)