Linux

Comment trouver un mot spécifique dans un fichier sous Linux

Par défaut, la plupart des outils de recherche examinent les noms de fichiers, pas le contenu des fichiers. Cependant, le programme de recherche GNU le plus célèbre, grep, cherchera à l’intérieur des fichiers avec les indicateurs corrects. Ici, nous allons vous montrer comment trouver des mots spécifiques dans un fichier sous Linux.

Utiliser grep pour rechercher un mot spécifique dans un fichier

Par défaut, grep recherche dans le contenu des fichiers ainsi que leurs noms de fichiers. Il est inclus sur la majorité des systèmes Linux et est généralement identique dans toutes les distributions. Cela dit, les machines Linux plus petites ou moins puissantes pourraient préférer exécuter une commande différente, comme ack.

Selon la façon dont le fichier est encodé, grep peut ne pas toujours être en mesure de regarder à l’intérieur. Mais pour la plupart des formats basés sur du texte, grep peut analyser le texte du fichier pour le modèle spécifié.

L’indicateur -R définit grep en mode récursif, en parcourant tous les répertoires contenus dans le répertoire spécifié. L’indicateur -w recherche les correspondances de mots entiers. Cela signifie que « rouge » correspondra uniquement à « rouge » entouré de caractères d’espacement et non « redondant » ou « fatigué ». L’indicateur -e précède le motif à rechercher. Il prend en charge les expressions régulières par défaut.

Psssssst :  Où sont les journaux NTP Linux ?

Pour accélérer grep, vous pouvez utiliser les indicateurs –exclude et –include pour limiter la recherche à certains types de fichiers. Par exemple, –exclude=*.csv ne recherchera dans aucun fichier avec l’extension .csv. –include=*.txt, d’autre part, ne recherchera que dans les fichiers avec l’extension .txt. L’indicateur peut être ajouté immédiatement après la commande grep, comme indiqué ci-dessous :

Vous pouvez également exclure des répertoires spécifiés en suivant le format ci-dessous :

Cette commande ne recherchera dans aucun répertoire du répertoire de travail actuel nommé dir1, dir2 ou correspondant au modèle *_old, les éliminant du processus de recherche. Il exécutera la recherche de correspondance récursive spécifiée sur tous les mots sur tous les autres fichiers du répertoire de travail actuel.

Utiliser find pour rechercher un mot spécifique dans un fichier

Rechercher du texte dans un fichier Linux Rechercher Grep

Bien que la syntaxe de la commande find soit plus compliquée que celle de grep, certains la préfèrent.

Cette commande utilisera l’indicateur -exec de find pour transmettre les fichiers trouvés à grep pour la recherche. Avec un agencement intelligent de la syntaxe, vous pouvez utiliser la recherche plus rapide du système de fichiers de find pour localiser les types de fichiers spécifiques dans lesquels vous souhaitez rechercher, puis les diriger vers grep afin de rechercher dans les fichiers.

Psssssst :  Puis-je installer Google Chrome sur Windows XP ?

Notez que find ne regarde que les noms de fichiers, pas le contenu. C’est pourquoi grep est nécessaire pour rechercher le texte et le contenu du fichier. Les indicateurs grep normaux doivent être pleinement opérationnels à partir de l’indicateur -exec.

Utiliser ack pour rechercher un mot spécifique dans un fichier

La commande ack est probablement l’outil de recherche le plus rapide, mais elle n’est pas aussi populaire que les options ci-dessus. La commande ci-dessous recherchera dans le répertoire actuel.

Si vous souhaitez effectuer une recherche dans un fichier ou un répertoire spécifique, vous pouvez ajouter ce fichier ou un chemin d’accès complet à votre recherche.

Conclusion

Pour la plupart des gens dans la plupart des situations, grep est le meilleur outil de recherche largement disponible. Vous pouvez également consulter d’autres outils de recherche, comme RipGrep, pour des options de recherche plus rapides

Cet article est-il utile ? Oui Non

Bouton retour en haut de la page

Adblock détecté

Veuillez désactiver votre bloqueur de publicités pour pouvoir visualiser le contenu de la page. Pour un site indépendant avec du contenu gratuit, c’est une question de vie ou de mort d’avoir de la publicité. Merci de votre compréhension! Merci