22 votes

Outil de recherche et de remplacement multi-lignes

Je recherche un outil pour remplacer plusieurs lignes dans tout un projet. Par exemple:

#include "../DiscreteIO/Discrete.h"
#include "../PCI/pci.h"
#include "../Arinc429/ARINC429.h"

avec

#include "../PCI/pci.h"
#include "../DiscreteIO/DiscreteHW.h"
#include "../DiscreteIO/Discrete.h"

J'ai essayé deux outils qui fonctionnent pour ce type de recherche et de remplacement. Wildedit et Actual search and replace Les deux semblent être d'excellents outils mais ce sont des sharewares. Est-ce que quelqu'un connaît des outils similaires? Est-ce gratuit ou est-il temps de dépenser de l'argent?

Clarification:

à travers tout un projet dans ce cas signifie plus d'un millier de fichiers c. Les éditeurs de texte ne peuvent le faire que fichier par fichier (Textpad, Programmers Notepad) ou dans tous les fichiers ouverts (nodepad++). Je n'ai pas essayé d'autres éditeurs mais je suppose qu'ils auront des problèmes similaires. Veuillez me corriger si je me trompe.

Des outils comme sed & awk sont une solution mais posent des problèmes car je ne les utilise pas régulièrement et j'ai besoin de passer du temps pour arriver à quelque chose qui fonctionne car je ne suis pas un expert des outils.

La réponse est: Tout cela...

Ultra Edit peut fonctionner mais j'ai déjà un éditeur et le prix est élevé si je vais juste l'utiliser comme outil de recherche et de remplacement.

Sed, AWK et d'autres outils basés sur les expressions régulières peuvent fonctionner mais peuvent être pénibles dans certains cas.

Wild Edit peut fonctionner et n'est pas si cher.

Ma décision finale est de travailler mes compétences en expressions régulières.

2voto

Tyr Antilles Points 11

J'ai utilisé avec succès Multiple Find And Replace 1.10, un programme gratuit qui fait exactement cela : recherche de plusieurs lignes dans un fichier TXT ou une liste de fichiers TXT et les remplace par un autre texte de votre choix ou les supprime. Je l'ai trouvé ici pour le télécharger : http://www.softpedia.com/get/System/File-Management/Multiple-Find-And-Replace.shtml

2voto

sporker Points 83

Je ne suis pas autorisé à commenter, mais la solution acceptée cite un exemple qui semble cassé. La ligne 18 devrait être :

s,[/\.*[],\\&,g

Non

s,[/\[.*],\\&,g

Ce dernier donnera une erreur avec sed moderne (ou 'gsed' si vous êtes sous *BSD) concernant une expression non terminée à la ligne 18.

1voto

RegexSearch est un peu moche mais un outil très utile pour ce genre de choses.

1voto

Le meilleur outil que j'ai trouvé est un logiciel gratuit appelé BK ReplaceEm. L'interface prend un peu de temps pour s'y habituer, mais cela vaut la peine d'apprendre à l'utiliser. L'outil est très puissant et vous permet d'effectuer des remplacements sur plusieurs lignes avec ou sans expressions régulières.

0voto

Stephen Denne Points 17031

Ultraedit peut le faire. J'ai dépensé de l'argent pour cela.

Il y a un tutoriel sur la recherche et le remplacement multilignes que vous pouvez utiliser avec "remplacer dans les fichiers" pour l'appliquer sur plusieurs fichiers.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X