Comment rechercher du texte dans le contenu d'un fichier

Peut-être que vous n'avez jamais eu besoin de le faire, peut-être que vous l'avez essayé une fois et que vous avez démissionné. Dans tous les cas, je confirme ce que vous soupçonniez probablement déjà: impossible de rechercher du texte dans le contenu du fichier depuis Nautilus. Juste au cas où vous êtes toujours perdu à essayer de comprendre comment rechercher quelque chose dans Nautilus, il y a un bouton avec une icône en forme de loupe juste à côté de la barre d'adresse (plus facile, appuyez sur Ctrl + F). À partir de là, vous pouvez rechercher des dossiers et des fichiers par nom, mais vous ne pouvez pas rechercher de texte dans le contenu des fichiers. Alors, comment faisons-nous? Voici la solution ... enfin la moitié. 🙂

Gnome-Search-Tool, à seulement deux clics ...

Allez dans Lieux> Rechercher des fichiers… Vous pouvez également exécuter cet outil en appuyant sur Alt + F2 et en tapant outil de recherche gnome.

Une fois la fenêtre ouverte, cliquez là où il est dit Voir plus d'options. Là, il vous permettra de saisir le texte à rechercher. De plus, vous pourrez saisir d'autres paramètres de recherche tels que la date de modification, la taille, le propriétaire du fichier, etc.

Par le terminal

Vous avez peut-être utilisé la commande grep si bien savoir à quoi il sert. Eh bien, il est temps d'apprendre.

C'est une commande qui sert précisément à rechercher du texte dans le contenu des fichiers. Vous pouvez effectuer n'importe quel type de recherche auquel vous pensez. Comme toute commande de terminal, son secret réside dans la bonne connaissance des paramètres disponibles.

Nous allons donner un exemple concret. Supposons que vous souhaitiez rechercher tous les fichiers contenant la phrase «utilisons linux» dans votre dossier / media / win / stuff.

La commande à exécuter serait:

grep -lir "utilisons linux" "/ media / win / stuff"

Le paramètre -l vous demande d'afficher les noms de fichiers dans lesquels se trouve le texte demandé. Le paramètre -i, qui est insensible à la casse. Le paramètre -r, qui effectue une recherche récursive dans le chemin spécifié.

Si vous souhaitez restreindre la recherche à un certain type de fichier, accédez d'abord au chemin où grep doit rechercher.

cd / media / win / stuff

Ensuite, j'ai écrit quelque chose de similaire à celui-ci en l'adaptant en fonction de vos besoins:

grep -lir "utilisons linux" * .pdf

Pour plus d'informations, je vous suggère d'écrire homme grep dans un terminal. 🙂 Le manuel ne mord pas!

Les deux outils recherchent des fichiers de texte brut contenant le texte spécifié. Ils ne sont pas utilisés pour rechercher du texte dans des fichiers binaires, tels que des PDF, des DOC, des ODT, etc. 🙁 En fait, vous devez faire quelque chose d'un peu plus compliqué que je publierai sûrement dans un prochain article. 🙂

Laisser un commentaire

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

*

*

  1. Responsable des données: Miguel Ángel Gatón
  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.   Leo dit

    Eh bien, je me réponds 🙂
    grep -r "7005" * –include = *. xml

    vous pouvez utiliser –include ou –exclude avec -r

    😀

    1.    David dit

      Et Leo, ça a marché comme ça pour moi (avec le double «-» pour l'inclusion):
      grep -r "7005" * –include = *. xml

      salutations

  2.   Leo dit

    Un détail, dans le dernier exemple: grep -lir "utilisons linux" * .pdf, si j'utilise * .xml (par exemple) il ne recherche pas récursivement, mais il recherche le répertoire avec la forme * .xml et non dans tous les fichiers * .xml qui se trouvent dans les sous-répertoires. Je cherchais juste la solution à cela, est-ce que quelqu'un le sait?
    Vous pouvez simplement utiliser le * mais cela inclut tous les fichiers, ce que je veux éviter.

  3.   Hernando dit

    très bien.

  4.   Gardien informatique dit

    Parfait, clair et bien expliqué.
    Comment améliorer l'indiquer dans la commande
    grep -lir "utilisons linux" "/ media / win / stuff"
    les guillemets doivent être laissés comme suit
    grep -lir "utilisons linux" / media / win / stuff
    salutations

  5.   Utilisons Linux dit

    Exact. Je mets les guillemets au cas où quelqu'un remplacerait mon exemple par un chemin contenant des espaces. J'anticipais une future réclamation: hé, ça ne marche pas pour moi !! Ha ha…
    Quoi qu'il en soit, ce que vous dites est vrai. Dans l'exemple, il y a beaucoup de guillemets mais si vous voulez entrer un chemin qui inclut des espaces, vous devez mettre des guillemets.
    Fait la mise en garde. Salutations et merci beaucoup pour vos commentaires!

  6.   freeseven dit

    Excellente contribution, très bien expliquée: simple et facile à suivre. En attente de ce futur post que vous annoncez à la fin.
    salutations

  7.   Utilisons Linux dit

    Oui, je l'ai déjà ajouté à ma liste de choses à faire! 🙂
    À votre santé! Paul.

  8.   Fernando dit

    Très bon! vraiment utile et fonctionne très bien!

    Merci!

  9.   Gustavo Mennichelli dit

    Cher, vu le contenu de vos commentaires que je trouve encourageant, j'ai décidé de vous demander de l'aide avec la vidéo de ni lenovo T430 J'utilise Linux Mint depuis la version 9 maintenant j'ai installé la version 17 KDE et j'ai des problèmes avec la résolution du vidéo Je ne peux pas utiliser le 1920 × 1080 qui a la plaque. Pouvez-vous m'aider?
    merci

  10.   pages web valence dit

    ok mec merci tu m'as servi !!! salu2

  11.   Guille dit

    Ce sont ces détails qui détruisent les merveilleux systèmes gratuits en 2015 et ne peuvent toujours pas faire de recherche de texte à partir du navigateur de fichiers? Et le pire, c'est que je me souviens qu'il y a environ 10 ans c'était possible, pourquoi revenons-nous dans certaines choses de base?
    Oui, une simple commande, oui, c'est gratuit, vous avez le code et ainsi de suite, mais je pense que ce type de détail marque un utilisateur novice qui aborde le monde de gnu / linux.

    1.    morgul dit

      Nous parlons de rechercher du contenu dans les fichiers, pas de les filtrer par nom 🙂

  12.   Ezéchiel dit

    Il est toujours bon d'avoir ces types de messages programmés

  13.   LoupMaxs dit

    Sous MacOSX, vous pouvez exécuter cette commande: (Je suppose que sous Linux, ce sera également le cas, puisque Linux et MacOSX sont une famille, des "petits frères".)

    mdfind -onlyin [chemin du répertoire dans lequel nous chercherons] query ["texte à rechercher"]
    utilisez des guillemets pour un texte avec des espaces. 😉

    par exemple:
    mdfind -onlyin Documents query curriculum

  14.   Hernan dit

    Ces commandes et leur grande utilité et leur partage si facile, sauvent la patrie.!