Tekst zoeken in bestandsinhoud

Misschien hoefde je het nooit te doen, misschien heb je het een keer geprobeerd en heb je ontslag genomen. In ieder geval bevestig ik wat u waarschijnlijk al vermoedde: kan niet zoeken naar tekst in bestandsinhoud van Nautilus. Voor het geval je nog steeds verdwaalt terwijl je probeert uit te zoeken hoe je iets in Nautilus kunt opzoeken, is er een knop met een vergrootglaspictogram direct naast de adresbalk (gemakkelijker, druk op Ctrl + F). Van daaruit kunt u op naam zoeken naar mappen en bestanden, maar u kunt niet zoeken naar tekst in de inhoud van de bestanden. Hoe doen we het dan? Hier is de oplossing ... nou ja, de helft. 🙂

Gnome-Search-Tool, slechts twee klikken verwijderd ...

Ga naar Plaatsen> Bestanden zoeken ... U kunt deze tool ook uitvoeren door op Alt + F2 te drukken en te typen gnome-zoek-tool.

Zodra het venster is geopend, klikt u op de plek waar het staat Zie meer opties. Daar kunt u de tekst invoeren om te zoeken. Bovendien kunt u andere zoekparameters invoeren, zoals de wijzigingsdatum, de grootte, de eigenaar van het bestand, enz.

Via de terminal

Misschien heb je het commando gebruikt grep als je goed weet waar het voor is. Nou, het is tijd om te leren.

Het is een commando dat precies wordt gebruikt om tekst in de inhoud van bestanden te vinden. U kunt allerlei soorten zoekopdrachten uitvoeren die u maar kunt bedenken. Zoals bij elk terminalcommando, ligt het geheim ervan de beschikbare parameters goed te kennen.

We gaan een concreet voorbeeld geven. Stel dat je alle bestanden wilt vinden die de zin "laten we linux gebruiken" in je map bevatten / media / win / stuff.

Het uit te voeren commando zou zijn:

grep -lir "laten we linux gebruiken" "/ media / win / stuff"

De parameter -l vertelt u om de bestandsnamen af ​​te drukken waarin de gevraagde tekst is gevonden. De parameter -i, die niet hoofdlettergevoelig is. De parameter -r, die recursief zoekt binnen het opgegeven pad.

Als u uw zoekopdracht wilt beperken tot een bepaald type bestand, gaat u eerst naar het pad waar grep moet zoeken.

cd / media / win / stuff

Toen schreef ik iets soortgelijks als dit om het aan te passen aan uw behoeften:

grep -lir "laten we linux gebruiken" * .pdf

Voor meer informatie raad ik je aan te schrijven man in beslag genomen in een terminal. 🙂 De handleiding bijt niet!

Beide tools zoeken naar platte tekstbestanden die de opgegeven tekst bevatten. Ze worden niet gebruikt om naar tekst te zoeken in binaire bestanden, zoals PDF's, DOC's, ODT's, enz. 🙁 Eigenlijk moet je iets gecompliceerder doen dat ik zeker in een toekomstige post zal publiceren. 🙂

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Leeuw zei

    Nou, ik antwoord mezelf 🙂
    grep -r "7005" * –include = *. xml

    je kunt –include of –exclude gebruiken met -r

    ????

    1.    David zei

      Hoe zit het met Leo, het werkte als volgt voor mij (met dubbele «-» voor de include):
      grep -r "7005" * –include = *. xml

      groeten

  2.   Leeuw zei

    Een detail, in het laatste voorbeeld: grep -lir "laten we linux gebruiken" * .pdf, als ik * .xml gebruik (bijvoorbeeld) zoekt het niet recursief, maar doorzoekt in plaats daarvan de directory met het formulier * .xml en niet in alle bestanden * .xml die zich in submappen bevinden. Ik was gewoon op zoek naar de oplossing hiervoor, weet iemand dat?
    Je zou gewoon de * kunnen gebruiken, maar dat omvat alle bestanden, dit wil ik vermijden.

  3.   Hernando zei

    zeer goed.

  4.   Computer Guardian zei

    Perfect, duidelijk en goed uitgelegd.
    Hoe te verbeteren, geef dat aan in het commando
    grep -lir "laten we linux gebruiken" "/ media / win / stuff"
    de aanhalingstekens moeten als volgt worden gelaten
    grep -lir "laten we linux gebruiken" / media / win / stuff
    groeten

  5.   Laten we Linux gebruiken zei

    Precies. Ik plaats de aanhalingstekens voor het geval iemand mijn voorbeeld heeft vervangen door een pad dat spaties bevat. Ik anticipeerde op een toekomstige claim: hey, het werkt niet voor mij !! Haha ...
    Hoe dan ook, wat je zegt is waar. In het voorbeeld zijn er veel aanhalingstekens, maar als u een pad wilt invoeren dat spaties bevat, moet u aanhalingstekens plaatsen.
    Maakte het voorbehoud. Groeten en heel erg bedankt voor je reactie!

  6.   freeseven zei

    Uitstekende bijdrage, zeer goed uitgelegd: eenvoudig en gemakkelijk te volgen. Wachten op dat toekomstige bericht dat je aan het einde aankondigt.
    groeten

  7.   Laten we Linux gebruiken zei

    Ja, ik heb het al aan mijn takenlijst toegevoegd! 🙂
    Proost! Paul.

  8.   Fernando zei

    Zeer goed! erg handig en werkt geweldig!

    Dank je wel!

  9.   Gustaaf Mennichelli zei

    Beste, gezien de inhoud van je opmerkingen die ik bemoedigend vind, heb ik besloten je om hulp te vragen met de video van ni lenovo T430.Ik gebruik Linux Mint sinds versie 9 nu heb ik versie 17 KDE geïnstalleerd en ik heb problemen met de resolutie van de video Ik kan de 1920 × 1080 met de plaat niet gebruiken. kun je me helpen?
    bedankt

  10.   webpagina's valencia zei

    oke man bedankt mij gediend !!! salu2

  11.   Guille zei

    Deze details vernietigen de prachtige gratis systemen anno 2015 en kunnen nog steeds geen tekst zoeken vanuit de bestandsbrowser? En het ergste is dat ik me herinner dat het ongeveer 10 jaar geleden mogelijk was, waarom gaan we terug in sommige fundamentele dingen?
    Ja, een eenvoudig commando, ja, het is gratis, je hebt de code en andere, maar ik denk dat dit type detail een beginnende gebruiker markeert die de wereld van gnu / linux nadert.

    1.    Morgol zei

      We hebben het over het zoeken naar inhoud in de bestanden, niet over het filteren op naam 🙂

  12.   Ezechiël zei

    Het is altijd goed om dit soort berichten in te plannen 😉

  13.   WolfMaxs zei

    In MacOSX kun je dit commando uitvoeren: (Ik veronderstel dat het in Linux er ook zal zijn, aangezien Linux en MacOSX familie zijn, "kleine broertjes".)

    mdfind -onlyin [pad van de directory waarin we zullen zoeken] query ["tekst om naar te zoeken"]
    gebruik aanhalingstekens voor een tekst met spaties. 😉

    bijvoorbeeld:
    mdfind -onlyin Documenten query curriculum

  14.   Hernan zei

    Deze commando's en hun grote nut en het zo gemakkelijk delen ervan, redden het thuisland.!