reFind.exe: Das Hilfsprogramm zum Suchen und Ersetzen mit Perl RegEx-Ausdrücken

Aus RAD Studio
Wechseln zu: Navigation, Suche

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:

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:

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

Siehe auch