reFind.exe: Das Hilfsprogramm zum Suchen und Ersetzen mit Perl RegEx-Ausdrücken
Nach oben zu Befehlszeilenhilfsprogramme - Index
reFind ist ein Befehlszeilenhilfsprogramm zum Suchen und Ersetzen von Perl RegEx-Textmustern in einer Textdatei.
In den folgenden Themen finden Sie Anleitungen zur Verwendung von reFind für die Migration von:
- Vorhandenen AnyDAC-Anwendungen nach FireDAC: Migrieren von AnyDAC-Anwendungen nach FireDAC.
- Vorhandenen BDE-Anwendungen nach FireDAC: Migrieren von BDE-Anwendungen nach FireDAC.
- Vorhandenen dbExpress-Anwendungen nach FireDAC: Migrieren von dbExpress-Anwendungen nach FireDAC.
Inhaltsverzeichnis
Befehlszeilenhilfe
RegEx (PCRE) search and replace utility, v 2.5 Copyright (c) 2013 Embarcadero Technologies, Inc. Usage: reFind <filemasks> [/S] [/Y] [/B:0|1|2] [/Q] [/I] [/W] [/L] [/P:<searchpattern>] [/R:<replacepattern>] [/X:<rule filename> <filemasks> Specifies the file masks or file names to process. /? Displays help. /S Search this directory with all subdirectories. /Y Modify also read-only files. /B:0 if .bak file exists no replace will be performed (default). /B:1 if .bak file exists, it is overwritten. /B:2 No .bak file is created. /Q Quiet operation. No output to console. /I Ignore case. /W Whole words. /L Multi line search. /P Perl RegEx search pattern. /R Perl RegEx replacement pattern. /X Specifies rule file with multiple Perl RegEx search and replace patterns or rules. The rule formats: #unuse <unit> - remove unit from the PAS uses clause #remove <property> - remove property from PAS and DFM #migrate [<class> :] <old> -> <new> [, <unit>] - replace old with new identifier, optionally add unit to uses clause, optionally restrict migration to the specified class Jede Datei hat das Format: <searchpattern> -> <replacepattern>
Musterformat
reFind verwendet mit Perl kompatible reguläre Ausdrücke (PCRE) für Such- und Ersetzungsmuster.
Weitere Einzelheiten finden Sie unter:
- Englisch: http://perldoc.perl.org/perlre.html#Regular-Expressions
- Russisch: http://citforum.ru/internet/perl/regexp
Regelformat
Die Regeldatei besteht aus mehreren Zeilen. Jede Zeile enthält eine einzelne Regel. Die Regeldatei kann mit dem Befehlszeilenparameter /X:<Dateiname> angegeben werden.
Such- und Ersetzungsregel
<search pattern> -> <replace pattern>
<Search pattern> ist ein PCRE-Suchmuster. <Replace pattern> ist ein PCRE-Ersetzungsmuster.
Regel zum Entfernen von Units
#unuse <unit name>
Entfernt den angegebenen <unit name> aus dem Interface und den implementation-Abschnitt der "uses"-Klauseln der PAS-Dateien.
Regel zum Entfernen von Eigenschaften
#remove <property name>
Entfernt den angegebenen <property name> aus PAS- und DFM-Dateien. Aus PAS-Dateien werden Konstruktionen wie <Eigenschaft> := <Wert>; entfernt.
Migrationsregel
#migrate [<class> :] <old name> -> <new name> [, <unit>]
Ersetzt in PAS- und DFM-Dateien alle <old name>-Bezeichner durch einen <new name>. Wenn <class> angegeben ist, dann wird die Regel nur auf Objekte aus der angegebenen Klasse angewendet:
- DFM – nur für Basisobjekte, nicht für geerbte Objekte
- PAS – nur für <obj>.<old name>-Konstruktionen, nicht für den Inhalt von "with"-Klauseln.
Wenn <unit> angegeben ist, dann wird die Unit der "uses"-Klausel des PAS-Unit-Abschnitts hinzugefügt, in dem <old name> vorhanden ist. <unit> kann eine durch Komma getrennte Liste mit Units sein.
Beispiele
- Ersetzen aller Vorkommen von "TQuery" durch "TFDQuery" in PAS-Dateien:
refind *.pas /I /W /P:TQuery /R:TFDQuery
- Ersetzen aller Vorkommen von "TxxxQuery" durch "TFDQuery" in PAS- und DFM-Dateien:
refind *.pas *.dfm /I /W "/P:T[A-Za-z]+Query" /R:TFDQuery
- Ersetzen aller Vorkommen von "TxxxQuery" durch "TQueryxxx" in PAS- und DFM-Dateien:
refind *.pas *.dfm /I /W "/P:T([A-Za-z]+)Query" /R:TQuery\1
- Entfernen aller Vorkommen von "Origin = xxxx" aus DFM-Dateien:
refind *.dfm /L "/P:\n +Origin =.+$" "/R:"
- Migrieren einer Anwendung von der BDE nach FireDAC:
reFind *.pas *.dfm /X:FireDAC_Migrate_BDE.txt