41 votes

Comment rechercher des fichiers contenant un mot spécifique?

Comment rechercher des fichiers contenant un mot spécifique ?

55voto

Rinzwind Points 270388

Avec la ligne de commande, vous avez plusieurs options. Les 3 que j'utilise le plus souvent sont...

  1. locate {part_of_word}

    Cela suppose que votre base de données locate est à jour, mais vous pouvez la mettre à jour manuellement avec : sudo updatedb

  2. grep comme expliqué par dr_willis. Une remarque : -R après grep recherche également dans les répertoires. Exemple :

    cd\
    grep -R {something_to_look_for} {where_to_look_in}
  3. find . -name '*{part_of_word}*' -print

. est le répertoire où vous vous trouvez actuellement et * est un caractère générique.

Oh, et vous pouvez aussi combiner ceux-ci. Exemple : locate {something}|grep {some_part_of_something}|more

Si je me souviens correctement : locate est le plus rapide (en supposant que votre base de données est à jour) et find est le plus lent. Et grep est le plus complexe mais aussi le plus polyvalent de ces outils puisque vous pouvez utiliser des regexes.

28voto

Tom H. Points 23783

Grep -R "quoi" "où"

exemple:

grep -R bonjour /home

7voto

chandan Points 321

Vous pouvez utiliser grep pour lister les fichiers contenant le mot word dans le répertoire donné:

grep -Ril word directory

Ici:
* -R recherche de manière récursive des fichiers dans les sous-répertoires.
* -i ignorer la casse du texte
* -l afficher les noms de fichiers au lieu des parties de contenu des fichiers. (remarque: -L affiche les noms de fichiers ne contenant pas le mot).

utilisez man grep pour obtenir toutes les options

5voto

Shaul Behr Points 255

La commande grep est couramment utilisée pour cela.

grep MOTIF nomfichier

et grep peut effectuer des recherches très complexes.

willis@Cow:~$ grep --help
Utilisation : grep [OPTION]... MOTIF [FICHIER]...
Recherche le MOTIF dans chaque FICHIER ou dans l'entrée standard.
Par défaut, le MOTIF est une expression régulière basique (BRE).
Exemple : grep -i 'hello world' menu.h main.c

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X