Ali želite najti datoteko, katere vsebina je določeno besedilo?

Lutka z lupo

Nekateri so me vprašali o funkcionalnosti, ki jo imajo najnovejše različice sistema Microsoft Windows, v kateri lahko z njihovim iskalnikom poiščete ne samo datoteke z določenim imenom, ampak lahko vključite tudi besedilo za iskanje datoteke, ki vključujejo takšno besedilo, kot so PDF-ji, dokumenti Microsoft Office, besedilne datoteke .txt itd. No, vedeti morate, da lahko v svoji distribuciji GNU / Linux to storite in še veliko več.

V LxA smo že izvedli majhne vadnice ukazov, kot so find, whereis, locate itd. Zdaj vam bomo povedali, kako znova ustvarite to funkcionalnost, o kateri sem govoril v prvem odstavku iz vaše konzole. Kot pravim, je Linux izjemno prilagodljiv in ima različna orodja za iskanje stvari, tukaj vam bomo pokazali nekaj različnih načinov, ki jih lahko uporabite za iskanje datotek, v katerih je določeno besedilo ali niz: poiščite besedo ali niz v datotekah imenika lahko uporabite:

grep -s hola /home/*

grep -R hola /home/*

grep -Rw hola /home/*

V prejšnjem primeru bi besedo "hello" iskali v imeniku / home v vseh obstoječih datotekah. V prvem primeru se z možnostjo -s izvede nerekurzivno iskanje, medtem ko z -R postane rekurzivno, tako da če je v njej podimenik, bo tam tudi iskal ... Toda pozor, to bi preiskalo vso vsebino s tem nizom «zdravo», torej, če obstaja besedna zveza ali beseda, kot je »zdravo«, bi jo tudi menil za veljavno in pokazal datoteke, ki to vsebujejo, to pomeni, da te besede ne išče na poseben način. Če želite natančneje določiti, lahko uporabite tretjo možnost.

Ne pozabite, da bo iskal z razliko med velikimi in malimi črkami, zato bodo prejšnji primeri prezrli stvari, kot so Hello, HELLO, holA itd. Če želite narediti iskanje in prezrtje velikih črk, potem lahko uporabite možnost -i.

Predstavljajte si, da želite iskati obratno, torej vse tiste datoteke, kjer ne vključujejo niza ali besede posebne. Bi lahko? Resnica je, da, na primer:

grep -Rlv hola /home/*

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

V prvem primeru bo prikazan celoten seznam datotek, ki ne vsebujejo besede "zdravo", v drugem primeru pa bi storil enako, vendar datoteke, ki so najdene, so izključene gostuje v / home / Desktop ... Mimogrede, to možnost –exclude-dir = lahko uporabimo tudi v prvih primerih ...


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   James Vigo je dejal

    Grazas per isto.