Wilt u een bestand zoeken waarvan de inhoud een specifieke tekst is?

Pop met vergrootglas

Sommigen hebben me gevraagd naar een functionaliteit die de nieuwste versies van Microsoft Windows hebben waarin je hun zoekmachine kunt gebruiken om niet alleen bestanden met een bepaalde naam te vinden, maar je kunt ook een tekst om te vinden bestanden die dergelijke tekst bevatten, zoals pdf's, Microsoft Office-documenten, .txt-tekstbestanden, enz. Nou, je moet weten dat je dat in je GNU / Linux-distributie kunt doen en nog veel meer.

We hebben al kleine tutorials gedaan in LxA met commando's zoals vind, waar is, zoek, etc. Nu gaan we u een manier vertellen om deze functionaliteit, waarover ik in de eerste alinea sprak, opnieuw te creëren vanaf uw console. Zoals ik al zei, Linux is extreem flexibel en heeft verschillende tools om dingen te vinden, nu gaan we u enkele van de verschillende manieren laten zien die u kunt gebruiken om te zoeken naar bestanden waarin een bepaalde tekst of tekenreeks is gevonden: zoek naar een woord of tekenreeks in de bestanden van een directory kunt u gebruiken:

grep -s hola /home/*

grep -R hola /home/*

grep -Rw hola /home/*

In het vorige voorbeeld zouden we zoeken naar het woord "hallo" in de / home directory in alle bestaande bestanden. In het eerste geval wordt met de -s optie een niet-recursieve zoekopdracht uitgevoerd, terwijl met de -R het recursief wordt, dus als er submappen zijn, zal het daar ook zoeken ... Maar let op, dat zou alle inhoud doorzoeken met deze string "hallo", dus als er een zin of woord als "hallo" is, zou het deze ook als geldig beschouwen en de bestanden tonen die dit bevatten, dat wil zeggen, het zoekt niet op een specifieke manier naar dat woord. Om het specifiek te maken, kunt u de derde optie gebruiken.

Onthoud dat het hoofdlettergevoelige zoekopdrachten uitvoert, dus de vorige voorbeelden negeren zaken als Hallo, HALLO, holA, enz. Voor mij om een zoek en negeer hoofdlettergebruik, dan kunt u de optie -i gebruiken.

Stel je voor dat je in omgekeerde richting wilt zoeken, dat wil zeggen, al die bestanden waar voeg geen tekenreeks of woord toe specifiek. Kunt u? De waarheid is dat ja, bijvoorbeeld:

grep -Rlv hola /home/*

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

In het eerste voorbeeld toont het de volledige lijst met bestanden die het woord "hallo" niet bevatten, terwijl het in het tweede geval hetzelfde zou doen, maar gevonden bestanden zijn uitgesloten gehost in / home / Desktop ... Overigens kan deze optie –exclude-dir = ook worden gebruikt in de eerste voorbeelden ...


Laat je reactie achter

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

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  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.   James Vigo zei

    Grazas per isto.