web-dev-qa-db-fra.com

Rechercher et remplacer du texte dans plusieurs fichiers à l'aide de geany

Je cherche une méthode pour trouver et remplacer du texte dans des centaines de fichiers.

Je sais que Geany peut trouver du texte dans plusieurs fichiers. C'est bon. Mais comment remplacer le texte?

Geany semble ne le faire que dans le fichier actuellement ouvert. Comment ouvrez-vous tous les fichiers dans Geany où se trouve la chaîne de recherche.

Merci

3
SPS
  1. Sélectionnez tous les fichiers que vous souhaitez modifier et ouvrez-les avec Geany.
  2. Dans le menu Geany, sélectionnez Rechercher -> Remplacer.
  3. Une nouvelle fenêtre Remplacer s'ouvrira. Sous la section Remplacer tout, sélectionnez en session comme indiqué dans l'image ci-dessous. Dans cet exemple, j'ai choisi de remplacer globalement la chaîne "search-text" par la chaîne "replace-text".
  4. Dans le menu Geany, sélectionnez Fichier -> Enregistrer tout.
  5. Dans le menu Geany, sélectionnez Fichier -> Fermer tout et fermez Geany, ou sélectionnez Fichier -> Quitter.

enter image description here

C'est la façon de remplacer du texte dans plusieurs fichiers dans Geany. Si vous souhaitez rechercher toutes les occurrences de texte dans plusieurs fichiers avant de les remplacer, vous pouvez sélectionner Rechercher -> Rechercher dans le menu Geany, ainsi que les noms de fichier et la ligne. les numéros des lignes dans les fichiers contenant le terme recherché apparaîtront dans une liste dans le volet inférieur de la fenêtre de Geany. Tous les onglets ouverts dans Geany dont le nom de fichier ne se trouve pas dans la liste située dans le volet inférieur de Geany peuvent être fermés manuellement, un à la fois, ou vous pouvez laisser tous les onglets ouverts, car le résultat ne sera pas modifié. remplacer l'opération.

2
karel

Vous pouvez le faire en attendant qu'un plugin apparaisse dans ce sens ou en utilisant le terminal . Je pense que la deuxième voie est meilleure pour le moment. Je vais expliquer comment.

Pour ouvrir tous les fichiers contenant une chaîne spécifique, à partir de l’intérieur d’un répertoire (et de sous-répertoires) ouvrant Geany, sélectionnez Terminal dans l’onglet Fenêtre de message et lancer la commande suivante à l'intérieur de:

grep -rHIF --exclude='/directory_path/*~' -- 'text_to_find' /bin/bash /directory_path/* | geany `awk 'BEGIN {FS="[:]"} {print $1}'`

Par exemple, pour ouvrir tous les scripts bash que j'ai dans mon répertoire /home/radu/bin avec Geany, je lance la commande suivante:

grep -rHIF --exclude='/home/radu/bin/*~' -- '#!/bin/bash' /home/radu/bin/* | geany `awk 'BEGIN {FS="[:]"} {print $1}'`

Geany

Pour ouvrir ces fichiers dans une nouvelle instance de Geany sans charger les fichiers de la session précédente, utilisez les arguments -is pour la commande geany:

grep -rHIF --exclude='/directory_path/*~' -- 'text_to_find' /bin/bash /directory_path/* | geany -is `awk 'BEGIN {FS="[:]"} {print $1}'`

Maintenant que tous les fichiers dont vous avez besoin sont ouverts en une seule session de Geany, appuyez sur Ctrl+H pour ouvrir la boîte de dialogue Remplacer , insérez le texte à rechercher, insérez le texte à remplacer et appuyez sur Dans la session bouton:

Geany Search & Replace Dialog

1
Radu Rădeanu