Ako nájsť text v obsahu súboru

Možno ste to nikdy nemuseli robiť, možno ste to raz skúsili a rezignovali ste. V každom prípade potvrdzujem, čo ste už pravdepodobne tušili: nie je možné vyhľadať text v obsahu súboru z programu Nautilus. Pre prípad, že by ste stále stratili snahu prísť na to, ako do pekla niečo hľadať v Nautiluse, je hneď vedľa panela s adresou tlačidlo s ikonou lupy (jednoduchšie, stlačte Ctrl + F). Odtiaľ môžete vyhľadávať priečinky a súbory podľa názvu, nemôžete však vyhľadávať text v obsahu súborov. Ako potom postupujeme? Tu je riešenie ... no, polovica. 🙂

Gnome-Search-Tool, len dve kliknutia ...

Prejdite do ponuky Miesta> Nájsť súbory ... Tento nástroj môžete spustiť aj stlačením klávesov Alt + F2 a zadaním textu gnome-search-tool.

Po otvorení okna kliknite na dané miesto Zobraziť ďalšie možnosti. Tam vám umožní zadať text na hľadanie. Okrem toho budete môcť zadať ďalšie parametre vyhľadávania, ako napríklad dátum úpravy, veľkosť, vlastník súboru atď.

Cez terminál

Možno ste použili príkaz grep ak dobre viete, na čo to je. Nuž, je čas sa učiť.

Je to príkaz, ktorý sa používa presne na vyhľadanie textu v obsahu súborov. Môžete vykonať akýkoľvek druh vyhľadávania, na ktoré si spomeniete. Ako každý príkaz terminálu, aj jeho tajomstvo spočíva v dobrej znalosti dostupných parametrov.

Uvedieme konkrétny príklad. Predpokladajme, že chcete vo svojom priečinku nájsť všetky súbory, ktoré obsahujú výraz „poďme použiť linux“ / media / win / stuff.

Príkaz na vykonanie by bol:

grep -lir "použijeme linux" "/ media / win / stuff"

Parameter -l vám povie, aby ste vytlačili názvy súborov, v ktorých sa nachádza požadovaný text. Parameter -i nerozlišuje veľké a malé písmená. Parameter -r, ktorý vyhľadáva rekurzívne v rámci zadanej cesty.

Ak chcete vyhľadávanie obmedziť na určitý typ súboru, najskôr prejdite na cestu, kde musí hľadať grep.

cd / media / win / stuff

Potom som napísal niečo podobné tomuto a prispôsobil som to podľa vašich potrieb:

grep -lir "použijeme linux" * .pdf

Pre viac informácií navrhujem napísať muž grep v termináli. 🙂 Manuál nehryzie!

Oba nástroje vyhľadávajú súbory obyčajného textu, ktoré obsahujú zadaný text. Nepoužívajú sa na hľadanie textu v binárnych súboroch, ako sú PDF, DOC, ODT atď. 🙁 V skutočnosti musíte urobiť niečo trochu komplikovanejšie, čo určite zverejním v budúcom príspevku. 🙂

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   Lev dijo

    No odpovedám si 🙂
    grep -r "7005" * –include = *. xml

    môžete použiť –include alebo –exclude s -r

    😀

    1.    David dijo

      Čo tak Leo, fungovalo mi to takto (s dvojitým «-» pre zahrnutie):
      grep -r "7005" * –include = *. xml

      pozdravy

  2.   Lev dijo

    Detail v poslednom príklade: grep -lir "poďme použiť linux" * .pdf, ak použijem napríklad * .xml, nehľadá rekurzívne, ale prehľadáva adresár v tvare * .xml a nie v všetky súbory * .xml, ktoré sa nachádzajú v podadresároch. Len som hľadal riešenie tohto, vie niekto?
    Môžete použiť iba znak *, ktorý však obsahuje všetky súbory, čomu sa chcem vyhnúť.

  3.   Hernando dijo

    veľmi dobre.

  4.   Počítačový strážca dijo

    Perfektné, jasné a dobre vysvetlené.
    Ako vylepšiť to naznačte v príkaze
    grep -lir "použijeme linux" "/ media / win / stuff"
    úvodzovky by mali byť ponechané nasledovne
    grep -lir "poďme použiť linux" / media / win / veci
    pozdravy

  5.   Použime Linux dijo

    Presne. Uvádzam úvodzovky, keby náhodou niekto nahradil môj príklad cestou, ktorá obsahuje medzery. Očakával som budúci nárok: hej, nefunguje mi to !! Ha ha ...
    Každopádne, to, čo hovoríš, je pravda. V príklade je veľa úvodzoviek, ale ak chcete zadať cestu, ktorá obsahuje medzery, musíte vložiť úvodzovky.
    Vyrobil výhradu. Zdravím a veľmi pekne ďakujem za komentár!

  6.   freesedem dijo

    Vynikajúci príspevok, veľmi dobre vysvetlený: jednoduchý a ľahko sa sleduje. Čaká sa na budúci príspevok, ktorý na konci ohlásite.
    pozdravy

  7.   Použime Linux dijo

    Áno, už som si to pridal do zoznamu úloh! 🙂
    Na zdravie! Pavla.

  8.   Fernando dijo

    Veľmi dobre! naozaj užitočné a funguje skvele!

    Vďaka!

  9.   Gustavo Mennichelli dijo

    Vážený, vidím obsah vašich komentárov, ktoré považujem za povzbudivé, rozhodol som sa vás požiadať o pomoc s videom ni lenovo T430 Používam linux Mint od verzie 9 Teraz som si nainštaloval verziu 17 KDE a mám problémy s rozlíšením video Nemôžem použiť 1920 × 1080, ktorý má štítok. môžeš mi pomôcť?
    vďaka

  10.   webové stránky valencia dijo

    ok človeče ďakujem ti ma obsluhoval !!! salu2

  11.   Guille dijo

    Tieto podrobnosti v roku 2015 zničia nádherné bezplatné systémy a stále nemôžete robiť textové vyhľadávanie z prehľadávača súborov? A najhoršie je, že si pamätám, že asi pred 10 rokmi to bolo možné, prečo sa vraciame v niektorých základných veciach?
    Áno, jednoduchý príkaz, áno, je zadarmo, že máte kód a ďalšie, ale myslím si, že tento typ detailov označuje začínajúceho používateľa, ktorý sa blíži k svetu gnu / linux.

    1.    morgul dijo

      Hovoríme o hľadaní obsahu v súboroch, nie o ich filtrovaní podľa názvu 🙂

  12.   Ezequiel dijo

    Vždy je dobré mať naplánované tieto typy príspevkov 😉

  13.   WolfMaxs dijo

    V systéme MacOSX môžete vykonať tento príkaz: (Predpokladám, že tam bude aj v systéme Linux, pretože Linux a MacOSX sú rodinní, „malí bratia“.)

    mdfind -onlyin [cesta k adresáru, kde budeme hľadať] dotaz [„text na hľadanie“]
    použite úvodzovky pre text s medzerami. 😉

    napríklad:
    mdfind -onlyin Osnovy dotazov na dokumenty

  14.   hernan dijo

    Tieto príkazy a ich veľká užitočnosť a to, že ich tak ľahko zdieľajú, zachránia krajinu.!