21
Juil

Recherche dans le contenu d’un fichier sous Linux

Written by Stephane Montagnon. Posted in Astuces Linux

linuxSi vous avez la chance d’utiliser un système Linux et que vous voulez faire une recherche dans le contenu des fichiers … C’est possible :

find /chemin -name "*" -exec grep -Hn "chaine_de_caractère" {} \;

Explication :

  • find … ca c’est pas compliqué
  • /chemin le répertoire ou vous souhiatez faire une recherche
  • -name « * » -exec grep -Hn … vous tapez sans chercher à comprendre
  • « chaine_de_caractère » … ce que vous cherchez
  • {} \; … vous tapez sans chercher à comprendre

Mots-clefs :,

Trackback from your site.

Comments (6)

  • Toto
    28 mai 2011 à 5 h 37 min |

    Problème:
    Je cherche un fichier dans toute mon arborescence car je ne sais pas où il est, avec cette commande j’ai des erreur à chaque fois que grep essaye de lire un fichier auxquel il n’a pas accès (alors que je suis root).
    Comment éliminer ces lignes qui ne m’intéressent pas et me gène pour trouver mon résultat?

  • 28 mai 2011 à 15 h 23 min |

    Je ne pense pas que cela soit possible en fait tes erreurs sont probablement liées à des répertoires de montage (lecteur disquettes, cdrom…) qui ne sont pas utilisés

  • Toto
    28 mai 2011 à 15 h 50 min |

    C’est tout à fait ça.
    C’est embêtant toutes ces lignes qui polluent mes résultats mais je m’en accommoderai.

    Merci pour ta réponse rapide 😉

  • Ahmet
    24 août 2011 à 22 h 38 min |

    ajouter | grep -v trucquisoule
    Ex: find ./ -name « * » -exec grep -Hn « import » {} \; | grep -v .svn
    Enlève tous les dossier contenant .svn

  • Terry
    22 septembre 2013 à 22 h 19 min |

    Merci Steph pour ta commande, mais je dois dire que j’ai trouvé dommage que ta section « Explications » ne donne que … peu d’explications.
    En effet 2 des 5 paramètres qui méritent des explications n’ont droit qu’un simple « sans chercher à comprendre.. »

    Sinon, pour les autres lecteurs une commande plus simple à retenir et à comprendre :

    grep -Ri txt_a_chercher /dossier_ou_chercher

    Explication :
    R : recursivité
    i : insensible à la casse (majuscule ou minuscule : indifférent )

  • Rémi
    1 décembre 2015 à 14 h 34 min |

    Équivalent sous windows :
    findstr /s /C: »ma chaine à chercher » *.php

Laisser un commentaire