Comment rechercher des fichiers contenant un mot spécifique ?
Réponses
Trop de publicités?Avec la ligne de commande, vous avez plusieurs options. Les 3 que j'utilise le plus souvent sont...
-
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
-
grep
comme expliqué par dr_willis. Une remarque :-R
aprèsgrep
recherche également dans les répertoires. Exemple :cd\ grep -R {something_to_look_for} {where_to_look_in}
-
find . -name '*{part_of_word}*' -print
Où .
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.
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
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