Comment rechercher des fichiers contenant des mots spécifiques?
Comment rechercher des fichiers contenant des mots spécifiques?
Réponses:
Avec la ligne de commande, vous avez plusieurs options. Les 3 que j'utilise le plus sont ...
locate {part_of_word}
Cela suppose que votre base de données de localisation est à jour, mais vous pouvez la mettre à jour manuellement avec: sudo updatedb
grep
comme expliqué par dr_willis. Une remarque: -R
après grep
aussi cherché dans les annuaires. Exemple:
cd\
grep -R {something_to_look_for} {where_to_look_in}
find . -name '*{part_of_word}*' -print
Où se .
trouve le répertoire où vous vous trouvez actuellement et *
est un caractère générique.
Oh, et vous pouvez aussi les combiner. Exemple:
locate {something}|grep {some_part_of_something}|more
Si je me souviens bien: locate
est la plus rapide (en supposant que votre base de données est à jour) et find
la plus lente. Et grep
c’est le plus complexe, mais aussi le plus polyvalent, puisque vous pouvez utiliser des regex.
grep -R "quoi" "où"
Exemple:
grep -R hello /home
La commande grep est couramment utilisée pour cela.
grep PATTERN nom
et grep peut effectuer des recherches très complexes.
willis@Cow:~$ grep --help
Usage: grep [OPTION]... PATTERN [FILE]...
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i 'hello world' menu.h main.c
Vous pouvez utiliser grep
pour lister les fichiers contenant word
dans le donné directory
:
grep -Ril word directory
Ici:
* -R
recherche récursivement les fichiers dans les sous-répertoires.
* -i
Ignorer la casse du texte
* -l
Afficher les noms de fichier au lieu des portions de contenu de fichier. (note: -L
indique les noms de fichiers qui ne contiennent pas le mot).
utiliser man grep
pour obtenir toutes les options
-i
effectue une recherche insensible à la casse.