Trucs:Grep : chercher un texte dans plusieurs fichiers

De Lea Linux
Révision datée du 5 octobre 2005 à 17:43 par PingouinMigrateur (discussion | contributions) (conversion de la documentation originale de Léa par HTML::WikiConverter)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche
tchoyy<tchoyyfr@yahoo.fr>

Je trouve que cette commande n'est pas très utilisée mais elle est très puissante. Comment faire pour rechercher un texte alors qu'on ne connait pas le fichier d'où il provient ?

C'est simple. Il faut utiliser la commande grep. Si tous les fichiers sont dans le même répertoire, pour rechercher la chaîne "montexte", il suffit de faire :

grep montexte *

Sinon, si les fichiers sont dans une arborescence :

find . -type f -exec grep montexte {} \;

Explications :

  • find . => rechercher à partir du répertoire courant
  • -type f => on cherche un fichier
  • -exec => on execute une commande à chaque fichier trouvé
  • grep montexte {} => on recherche "montexte" dans les fichiers ( {} remplace le nom des fichiers trouvés).
  • \; => fin de l'option exec ( \ permet d'ajouter à la suite d'autres commandes)

Voila