Osnovno filtriranje pomoću grep-a

Jedna od naredbi koju najviše koristim u terminalu je grep, čak i više od cd o ls.

grep Ima mnogo opcija i nudi različite mogućnosti, međutim koristim najkonvencionalniji mogući način, ali krenimo objašnjavanjem Šta je grep?

grep je jednostavno filter, to je naredba koja prikazuje linije koje odgovaraju filtru koji smo deklarirali.

Na primjer, u našem sustavu imamo datoteku / usr / share / doc / bash / FAQ a sadržaj ove datoteke je:

Pregled sadržaja datoteke

Ako naredbom želite navesti sadržaj na terminalu mačka (da mačka, poput mačke hehe) oni to mogu:

cat /usr/share/doc/bash/FAQ

Sada, pretpostavimo da želimo samo navesti redak te datoteke koji govori o verziji, za ovo koristimo grep:

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

Ako ga stavite u terminal, prikazat će vam samo redak koji sadrži "verziju" u toj datoteci, više neće prikazivati ​​nijedan redak koji ne sadrži tu riječ.

Što ako želim prikazati sve osim verzije verzije?

Odnosno, na način na koji sam vam objasnio, prikazalo bi se sve što odgovara filtru, sada ću vam pokazati kako da se sve pojavi osim što odgovara filtru:

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

Primjećujete li razliku? ... jednostavno dodavanje -v to već čini razliku 😀

Pa ako stave grep pokazat će vam samo ono što odgovara filtru, ali ako stavite grep -v pokazat će vam sve osim filtra.

Pa ovdje post završava, samo još jedan savjet da ga sada možda mogu omalovažiti, ali ... oni nemaju pojma koliko grep može biti koristan, ozbiljno je spasitelj života

Saludos


Sadržaj članka pridržava se naših principa urednička etika. Da biste prijavili grešku, kliknite ovdje.

11 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   DMoZ rekao je

    Nesumnjivo vrlo svestrana naredba, kad naučite rukovati, olakšava vam život =) ...

  2.   Scalibur rekao je

    Bok! .. ..zaista vrlo korisna naredba .. u mom slučaju je koristim poprilično ..

    Jednostavan primjer bi bio, na primjer, dpkg -l | grep 'paket' (u slučaju distro-a zasnovanih na debianu), koristi se da bi se znalo imamo li instaliran taj paket.

    Sjajno je dati ove alate cijeloj našoj zajednici 😉

    1.    KZKG ^ Gaara rekao je

      Puno vam hvala 😀
      Zapravo, grep je moćan koliko i naša mašta hahahaha, zajedno s awkom (i rezom) zaista postižu čuda * - *

      Uskoro ću staviti još nekoliko savjeta za rad na terminalu 😉
      Pozdrav i hvala na komentaru.

      PS: Vaš e-mail je zanimljiv LOL !!

  3.   hexborg rekao je

    Veoma dobro!! Da, zasigurno je grep jedan od spasitelja života svima koji vole koristiti terminal. Samo nekoliko bodova: Zaista uopće ne trebate koristiti naredbu cat. Ime datoteke možete staviti kao grep parametar ovako:

    grep verzija / usr / share / doc / bash / FAQ

    Takođe, čak i da ne može, uvijek bi postojala opcija za preusmjeravanje unosa naredbe radeći nešto poput ovog:

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

    Potonje se može učiniti bilo kojom naredbom, pa nikada nije potrebno koristiti cat za slanje datoteke na ulaz naredbe.

    Korištenje preusmjeravanja umjesto mačke uzrokuje da ljuska pokrene jedan proces manje, što troši manje resursa. To nije primjetna razlika, ali se smatra dobrom praksom.

    S druge strane, grep postaje stvarno koristan kada se koriste regularni izrazi ... Ako bih htio pomoći objavljivanjem posta o regularnim izrazima, što bih morao učiniti? Da li je dovoljno dodati novi post sa wordpress radne površine?

    1.    KZKG ^ Gaara rekao je

      Oh zanimljivo, uvijek sam se navikla koristiti s mačkom HAHAHAHA, hvala na savjetu 😀

      1.    hugo rekao je

        Pomoću grep možete filtere napraviti i malo manje osnovnim, na primjer:

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

        Ovo u osnovi prikazuje redove koji sadrže pojam koji tražimo (koji može biti u bilo kojoj kombinaciji velikih i malih slova), plus tri reda prije i nakon tri, naglašava rezultate u drugoj boji, rezultate stavlja brojeve linija i omogućava omogućavanje proširenih regularnih izraza koji u ovom slučaju omogućavaju traženje u "myfile.txt" svih linija koje se završavaju desdelinuxom, hacialinuxom ili linuxom da se osuše (sa ili bez završnog razdoblja).

        Inače, regularni izrazi nude puno fleksibilnosti i svaki dobar "geek" sa strašću prema besplatnom softveru trebao bi naučiti kako ih koristiti, hehe.

  4.   Dragnell rekao je

    Također je moguće koristiti zgrep za tablete u .ta.gz, vrlo je korisno kada želimo pregledati stare zapisnike. Živjeli

  5.   jhon rekao je

    Zdravo. hvala na postu. Dešava mi se da upotrebom grep-a riječ koju napišem u retke koji se pojave ne dobije boju. (obično je ovako) [primjer: grep cat file.txt]
    pojavljuju se linije i mačka, ali mačka ne okreće određenu boju da bi je razlikovala
    (u ccompusu mog unija ako ga vidite)
    Znate li kako bih mogao aktivirati ovu opciju?
    Molim vas ako mi možete odgovoriti. moj e-mail je sps-003@hotmail.com

    1.    fdy nb rekao je

      prijatelj mora napisati mačku pod navodnicima 'mačka' ili također "mačka", nakon čega slijedi ime datoteke gdje je želi potražiti

  6.   enrique rekao je

    Zdravo prijatelju, potpuno si u pravu, imaš sjajan osjećaj korisnosti. Od sada, grep sam ga stavio na prvo mjesto na listi omiljenih naredbi.
    pozdravi

  7.   scanjura rekao je

    A kako bi bilo prikazati zaposlenike filtrirane po plati?