Voulez-vous rechercher un fichier dont le contenu est un texte spécifique?

Poupée avec loupe

Certains m'ont posé des questions sur une fonctionnalité des dernières versions de Microsoft Windows dans laquelle vous pouvez utiliser leur moteur de recherche pour trouver, non seulement des fichiers avec un certain nom, mais vous pouvez également inclure un texte à trouver les fichiers qui incluent ce type de texte, tels que les PDF, les documents Microsoft Office, les fichiers texte .txt, etc. Eh bien, vous devez savoir que dans votre distribution GNU / Linux, vous pouvez faire cela et bien plus encore.

Nous avons déjà fait de petits tutoriels en LxA de commandes telles que find, whereis, Locate, etc. Nous allons maintenant vous dire un moyen de recréer cette fonctionnalité dont j'ai parlé dans le premier paragraphe de votre console. Comme je le dis, Linux est extrêmement flexible et a divers outils pour trouver des choses, eh bien, nous allons ici vous montrer quelques-unes des différentes manières que vous pouvez utiliser pour rechercher des fichiers dans lesquels se trouve un certain texte ou une certaine chaîne : rechercher un mot ou une chaîne dans les fichiers d'un répertoire, vous pouvez utiliser:

grep -s hola /home/*

grep -R hola /home/*

grep -Rw hola /home/*

Dans l'exemple précédent, nous chercherions le mot "bonjour" dans le répertoire / home dans tous les fichiers existants. Dans le premier cas, avec l'option -s une recherche non récursive est effectuée, tandis qu'avec le -R cela devient récursif, donc s'il y a des sous-répertoires à l'intérieur, il y cherchera également ... avec cette chaîne «bonjour», Par conséquent, s'il y a une phrase ou un mot comme «bonjour», il le considérera également comme valide et affichera les fichiers qui le contiennent, c'est-à-dire qu'il ne recherche pas ce mot d'une manière spécifique. Pour le rendre spécifique, vous pouvez utiliser la troisième option.

N'oubliez pas qu'il effectuera des recherches sensibles à la casse, de sorte que les exemples précédents ignoreraient des choses comme Hello, HELLO, holA, etc. Faire un rechercher et ignorer la casse, vous pouvez alors utiliser l'option -i.

Imaginez que vous vouliez faire une recherche en sens inverse, c'est-à-dire tous ces fichiers où n'incluez pas de chaîne ou de mot spécifique. Pourrais-tu? La vérité est que oui, par exemple:

grep -Rlv hola /home/*

grep --exclude-dir= /home/Desktop -Rlv /home/*

Dans le premier exemple, il affichera la liste complète des fichiers qui ne contiennent pas le mot "bonjour", tandis que dans le second cas, il ferait la même chose mais les fichiers trouvés sont exclus hébergé dans / home / Desktop… D'ailleurs, cette option –exclude-dir = peut également être utilisée dans les premiers exemples…


Un commentaire, laissez le vôtre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Jacques Vigo dit

    Grazas per isto.