#1 Le 13/06/2006, à 09:36
- jemini
Recherche de mots dans fichiers
Bonjour à tous ! Voilà, j'utilise actuellement bluefish comme editeur. Celui-ci ne semble pas proposer la fonction "rechercher dans un répertoire et remplacer" bien pratique quand les modifs à effectuer portent sur plusieurs fichiers...Sous XP j'utilisais ts webeditor qui proposait cette fonction ("Find in files and replace"). Si quelqu'un connait un editeur capable de le faire, je suis preneur ! A ce propos, j'ai vu que bluefish 1.0.5 était sorti...comment faire la mise à jour ?
Hors ligne
#2 Le 13/06/2006, à 09:48
- Black_pignouf
Re : Recherche de mots dans fichiers
Salut!
C'est vrai que je ne me souviens pas avoir vu "Find in files and replace" dans quelqu'éditeur que ce soit. Maintenant, il te reste à te coller:
man grep
man sed
Bon courage!
Hors ligne
#3 Le 13/06/2006, à 10:33
- jr95
Re : Recherche de mots dans fichiers
Bonjour.
man find
peut aussi servir:)
Hors ligne
#4 Le 20/06/2006, à 14:38
- jemini
Re : Recherche de mots dans fichiers
Effectivement, il est possible d'utiliser une commande native linux du style
"find mon_repertoire/ -type f -exec grep "mon_texte" -ni {} \;>sortie.txt" et ainsi récuperer les lignes où se trouvent le texte recherché...cependant, on ne peut pas avoir simultanément le n° de ligne et le nom du fichier comprenant cette ligne avec cette méthode ! Donc pas très pratique...
Si quelqu'un a une autre solution où connait un éditeur de texte capable de faire ca, ca m'interresse toujours ;-)
Hors ligne
#5 Le 20/06/2006, à 15:21
- jr95
Re : Recherche de mots dans fichiers
En combinant avec xargs, ça doit être possible. Par exemple :
find mon_repertoire -type f | xargs grep -n "mon_texte"
Hors ligne
#6 Le 22/06/2006, à 06:24
- jemini
Re : Recherche de mots dans fichiers
merci jr95 ! là c'est bien...et pour remplacer automatiquement le mot par un autre, on fait comment maintenant
Hors ligne
#7 Le 22/06/2006, à 06:50
- jr95
Re : Recherche de mots dans fichiers
Alors là, cela demande un peu plus de réflexion
Mais il y a de grandes chances que tu y arrives avec sed. La commande
sed -e 's/ancien/nouveau/g' fichier
va écrire sur "stdout" (le terminal par défaut), le contenu de "fichier" en remplaçant toutes les occurences de "ancien" par "nouveau". C'est un exemple assez simple d'utilisation de sed, il peut faire des choses beaucoup plus complexes (Cf man sed ainsi que man 7 regex).
Hors ligne
#8 Le 30/06/2006, à 09:42
- jemini
Re : Recherche de mots dans fichiers
merci je vais essayer ça !
Hors ligne