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
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.
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}'`
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: