Základné filtrovanie s grep

Jeden z príkazov, ktoré v termináli používam najčastejšie, je grep, dokonca viac ako cd o ls.

grep Má veľa možností a ponúka nepodobné možnosti, ja však používam najkonvenčnejší možný spôsob, ale začnime vysvetlením Čo je grep?

grep je jednoducho filter, je to príkaz, ktorý zobrazuje riadky, ktoré sa zhodujú s filtrom, ktorý sme deklarovali.

Napríklad v našom systéme máme súbor / usr / share / doc / bash / FAQ a obsah tohto súboru je:

Zobraziť obsah súboru

Ak chcete vypísať obsah v termináli pomocou príkazu ako (áno mačka, ako mačka hehe), môžu to urobiť:

cat /usr/share/doc/bash/FAQ

Teraz predpokladajme, že chceme uviesť iba riadok toho súboru, ktorý hovorí o verzii, na tento účel použijeme grep:

cat /usr/share/doc/bash/FAQ | grep version

Ak ho vložíte do terminálu, zobrazí sa iba riadok, ktorý obsahuje „verziu“ v danom súbore, už sa nebude zobrazovať žiadny riadok, ktorý dané slovo neobsahuje.

Čo ak chcem zobraziť všetko okrem riadku verzie?

To znamená, že spôsobom, ktorý som vám vysvetlil, by sa zobrazilo všetko, čo sa zhoduje s filtrom. Teraz vám ukážem, ako sa má všetko zobraziť. okrem čo zodpovedá filtru:

cat /usr/share/doc/bash/FAQ | grep -v version

Vnímate rozdiel? ... jednoducho doplniť -v už to robí rozdiel 😀

Ak teda dajú grep ukáže vám iba to, čo zodpovedá filtru, ale ak dáte grep -v zobrazí vám všetko okrem filtra.

Takže tu sa príspevok končí, len ďalší tip, že teraz to môžu zmierniť, ale ... netušia, aký užitočný môže byť grep, je to vážne záchranca 😀

pozdravy


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.   DMoZ dijo

    Nepochybne veľmi všestranný príkaz, akonáhle sa ho naučíte zvládať, uľahčí vám život =) ...

  2.   Scalibur dijo

    Ahoj! .. ..skutočne veľmi užitočný príkaz .. v mojom prípade ho používam veľa ..

    Jednoduchým príkladom by mohol byť napríklad dpkg -l | grep 'balíček' (v prípade distribúcií založených na Debiane), zvykne sa vedieť, či máme tento balík nainštalovaný.

    Je skvelé dať tieto nástroje celej našej komunite 😉

    1.    KZKG ^ Gaara dijo

      Dakujem pekne 😀
      Grep je v skutočnosti taký silný ako naša fantázia, hahahaha, spolu s awk (a cut) skutočne dosahujú zázraky * - *

      Čoskoro uvediem niekoľko ďalších tipov na prácu s terminálom 😉
      Zdravím a ďakujem za komentár.

      PS: Váš e-mail je zaujímavý LOL !!

  3.   hexborg dijo

    Veľmi dobre!! Áno, grep je určite jedným zo šetričov života pre každého, kto rád používa terminál. Len pár bodov: Naozaj nemusíte vôbec používať príkaz cat. Názov súboru môžete vložiť ako parameter grep, ako je tento:

    grep verzia / usr / share / doc / bash / FAQ

    Aj keby to nebolo možné, vždy by existovala možnosť presmerovať vstup príkazu takto:

    grep verzia </ usr / share / doc / bash / FAQ

    Posledne menovaný je možné vykonať pomocou ľubovoľného príkazu, takže nikdy nie je potrebné na odoslanie súboru pomocou vstupu cat zadať príkaz.

    Použitie presmerovania namiesto mačky spôsobí, že shell spustí o jeden proces menej, a teda spotrebuje menej zdrojov. Nie je to znateľný rozdiel, ale považuje sa to za dobrú prax.

    Na druhej strane sa grep stáva skutočne užitočným pri používaní regulárnych výrazov ... Ak by som chcel pomôcť zverejnením príspevku o regulárnych výrazoch, čo by som musel urobiť? Stačí pridať nový príspevok z pracovnej plochy WordPress?

    1.    KZKG ^ Gaara dijo

      Och zaujímavé, vždy som si ho zvykla používať s mačkou HAHAHAHA, ďakujem za tip 😀

      1.    Hugo dijo

        S grepom môžete filtre urobiť aj trochu menej základné, napríklad:

        grep -B3 -A3 -E -i --color=auto -n "(desde|hacia)?linux(\.)?$" ~/miarchivo.txt

        Toto v podstate zobrazuje riadky, ktoré obsahujú výraz, ktorý hľadáme (ktorý môže byť v akejkoľvek kombinácii veľkých a malých písmen), plus tri riadky pred ním a tri za ním, zvýrazní výsledky inou farbou, vloží čísla riadkov na výsledkoch a umožňuje povoliť rozšírené regulárne výrazy, ktoré v tomto prípade umožňujú vyhľadávanie v súbore „myfile.txt“ pre všetky riadky končiace desdelinuxsmerom k linuxu alebo obyčajnému linuxu (s koncovým bodom alebo bez neho).

        Mimochodom, regulárne výrazy ponúkajú veľkú flexibilitu a každý dobrý „geek“ s vášňou pre slobodný softvér by sa ich mal naučiť používať, hehe.

  4.   dragnell dijo

    Je tiež možné použiť zgrep pre tablety v .ta.gz, čo je veľmi užitočné, keď chceme skontrolovať staré protokoly. Na zdravie

  5.   Jhon dijo

    Ahoj. dakujem za prispevok. Stáva sa mi, že keď použijem grep, slovo, ktoré napíšem do riadkov, ktoré sa objavia, nezmení farbu. (zvyčajne je to takto) [príklad: grep cat file.txt]
    objavia sa čiary a mačka, ale mačka nezafarbí určitú farbu, aby ju odlíšila
    (je to vidieť v kópuse môjho uni)
    Viete, ako by som mohol aktivovať túto možnosť?
    Prosím, ak mi môžete odpovedať. môj e-mail je sps-003@hotmail.com

    1.    fdy pozn dijo

      priateľ musí napísať mačku do úvodzoviek „mačka“ alebo tiež „mačka“, za ktorou nasleduje názov súboru, kde ho chce nájsť

  6.   Enrique dijo

    Ahoj kamarát, máš úplnú pravdu, máš obrovský zmysel pre užitočnosť. Odteraz grep dávam na prvé miesto v mojom zozname obľúbených príkazov.
    ide o

  7.   scanjura dijo

    A aké by to bolo, keby sa zamestnancom zobrazovali filtrovaní podľa platu?