reFind.exe, l'utilitaire Rechercher et Remplacer utilisant les expressions Perl RegEx

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilitaires de ligne de commande - Index


reFind est un utilitaire de ligne de commande pour la recherche et le remplacement de modèles de texte Perl RegEx dans un fichier texte.

Pour obtenir des instructions sur l'utilisation de reFind pour migrer :

Aide de la ligne de commande

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
  
              Each file line has format:    
                <searchpattern> -> <replacepattern> 

Format des modèles

reFind utilise les expressions régulières compatibles Perl (PCRE) pour les modèles de recherche et de remplacement.

Pour de plus amples détails, visitez :

Format des règles

Le fichier de règles est composé de plusieurs lignes, chacune représentant une règle unique. Ce fichier peut être spécifié à l'aide du paramètre de ligne de commande /X:<nom de fichier>.

Règle de recherche et de remplacement

 <search pattern> -> <replace pattern>

<Modèle de recherche> est un modèle de recherche PCRE. <Modèle de remplacement> est un modèle de remplacement PCRE.

Règle de suppression d'unité

 #unuse <unit name>

Supprime l'unité <nom de l'unité> spécifiée de l'interface et la section d'implémentation des clauses "uses" des fichiers PAS.

Règle de suppression de propriété

 #remove <property name>

Supprime la propriété <nom de la propriété> spécifiée des fichiers PAS et DFM. A partir d'un fichier PAS, elle supprimera toute construction telle que <prop> := <valeur>;.

Règle de migration

 #migrate [<class> :] <old name> -> <new name> [, <unit>]

Remplace tous les identificateurs <ancien nom> par un <nouveau nom> dans les fichiers PAS et DFM. Si la <classe> est spécifiée, alors la règle sera uniquement appliquée aux objets de la classe spécifiée :

  • DFM - uniquement aux objets de base, pas à ceux hérités ;
  • PAS - uniquement aux constructions <obj>.<ancien nom>, pas au contenu des clauses "with".

Si l'<unité> est spécifiée, alors elle sera ajoutée à la clause "uses" de la partie de l'unité PAS, où se trouve <ancien nom>. L'<unité> peut être une liste d'unités séparées par des virgules.

Exemples

  • Remplacer tous les "TQuery" par "TFDQuery" dans les fichiers pas :
 refind *.pas /I /W /P:TQuery /R:TFDQuery
  • Remplacer tous les "TxxxQuery" par "TFDQuery" dans les fichiers pas et dfm :
 refind *.pas *.dfm /I /W "/P:T[A-Za-z]+Query" /R:TFDQuery
  • Remplacer tous les "TxxxQuery" par "TQueryxxx" dans les fichiers pas et dfm :
 refind *.pas *.dfm /I /W "/P:T([A-Za-z]+)Query" /R:TQuery\1
  • Retirer tous les "Origin = xxxx" des fichiers DFM :
 refind *.dfm /L "/P:\n +Origin =.+$" "/R:"
  • Migrer des applications BDE vers FireDAC :
 reFind *.pas *.dfm /X:FireDAC_Migrate_BDE.txt

Voir aussi