Filtrare de bază cu grep

Una dintre comenzile pe care le folosesc cel mai mult în terminal este grep, chiar mai mult de cd o ls.

grep Are multe opțiuni și oferă posibilități diferite, totuși folosesc cel mai convențional mod posibil, dar să începem prin a explica Ce este grep?

grep este pur și simplu un filtru, este o comandă care arată liniile care se potrivesc cu filtrul pe care l-am declarat.

De exemplu, în sistemul nostru avem fișierul / usr / share / doc / bash / FAQ iar conținutul acestui fișier este:

Vizualizați conținutul fișierului

Dacă doriți să listați conținutul în terminal cu ajutorul comenzii pisică (da pisica, ca pisica hehe) o pot face:

cat /usr/share/doc/bash/FAQ

Acum, să presupunem că dorim doar să listăm linia acelui fișier care vorbește despre versiune, pentru aceasta folosim grep:

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

Punerea asta în terminal vă va arăta doar linia care conține „versiunea” în acel fișier, nu va mai afișa nicio linie care nu conține acel cuvânt.

Ce se întâmplă dacă vreau să arăt totul, cu excepția liniei versiunii?

Adică, în felul în care ți-am explicat, tot ce se potrivește cu filtrul ar fi afișat, acum îți voi arăta cum să faci totul să apară cu exceptia ce se potrivește cu filtrul:

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

Observi diferența? ... pur și simplu adăugând -v deja face diferența 😀

Deci dacă pun grep vă va arăta doar ce se potrivește cu filtrul, dar dacă puneți grep -v vă va arăta totul, cu excepția filtrului.

Ei bine, aici se termină postarea, doar un alt sfat care poate poate acum îl disprețuiesc, dar ... habar nu au cât de util poate fi grep-ul, este serios un salvator de viață 😀

În ceea ce priveşte


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   DMoZ el a spus

    Fără îndoială, o comandă foarte versatilă, odată ce înveți să o gestionezi, îți ușurează viața =) ...

  2.   Scalibur el a spus

    Bună! .. .. într-adevăr o comandă foarte utilă .. în cazul meu o folosesc foarte mult ..

    Un exemplu simplu ar fi, de exemplu, dpkg -l | grep „pachet” (în cazul distribuțiilor bazate pe debian), este folosit pentru a ști dacă avem acel pachet instalat.

    Minunat să oferim aceste instrumente întregii noastre comunități 😉

    1.    KZKG ^ Gaara el a spus

      Mulțumesc mult 😀
      Într-adevăr, grep este la fel de puternic precum imaginația noastră hahahaha, împreună cu awk (și tăiat) realizează cu adevărat minuni * - *

      Voi pune în continuare câteva sfaturi pentru munca terminalului în scurt timp 😉
      Salutări și mulțumiri pentru comentariu.

      PS: E-mailul dvs. este interesant LOL !!

  3.   hexborg el a spus

    Foarte bine!! Da. Cu siguranță grep este unul dintre salvatorii de viață pentru oricui îi place să utilizeze terminalul. Doar câteva observații: Chiar nu trebuie să folosiți deloc comanda cat. Puteți pune numele fișierului ca un parametru grep astfel:

    versiunea grep / usr / share / doc / bash / FAQ

    De asemenea, chiar dacă nu s-ar putea, ar exista întotdeauna opțiunea de a redirecționa intrarea comenzii făcând așa ceva:

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

    Acesta din urmă poate fi realizat cu orice comandă, deci nu este niciodată necesar să folosiți cat pentru a trimite un fișier la intrarea unei comenzi.

    Utilizarea unei redirecționări în loc de pisică face ca shell-ul să lanseze un proces mai puțin, consumând astfel mai puține resurse. Nu este o diferență apreciabilă, dar este considerată o bună practică.

    Pe de altă parte, grep devine foarte util atunci când folosesc expresii regulate ... Dacă aș vrea să ajut făcând o postare despre expresii regulate, ce ar trebui să fac? Este suficient să adăugați o postare nouă de pe desktopul WordPress?

    1.    KZKG ^ Gaara el a spus

      Oh interesant, m-am obișnuit întotdeauna să-l folosesc cu pisica HAHAHAHA, mulțumesc pentru sfat 😀

      1.    Hugo el a spus

        Cu grep puteți face și filtre puțin mai puțin simple, de exemplu:

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

        Aceasta arată practic liniile care conțin termenul pe care îl căutăm (care poate fi în orice combinație de litere mari și minuscule), plus cele trei rânduri dinaintea lui și cele trei de după el, evidențiază rezultatele într-o culoare diferită, pune numere de rând asupra rezultatelor și permite activarea expresiilor regulate extinse care, în acest caz, permit căutarea în „fișierul meu.txt” pentru toate liniile care se termină cu desdelinux, spre linux sau linux simplu (cu sau fără un punct final).

        Apropo, expresiile regulate oferă multă flexibilitate și fiecare „geek” bun cu pasiune pentru software-ul gratuit ar trebui să învețe să le folosească, hehe.

  4.   dragnell el a spus

    De asemenea, este posibil să utilizați zgrep pentru tablete în .ta.gz, este foarte util atunci când dorim să examinăm jurnalele vechi. Noroc

  5.   Jhon el a spus

    Salut. multumesc pentru postare. Mi se întâmplă să folosesc grep, cuvântul pe care îl scriu în rândurile care apar nu se colorează. (de obicei este așa) [exemplu: grep cat file.txt]
    apar liniile și pisica, dar pisica nu capătă o anumită culoare pentru a o deosebi
    (în ccompusul uni mele se vede)
    Știți cum aș putea activa această opțiune?
    Va rog daca imi puteti raspunde. e-mailul meu este sps-003@hotmail.com

    1.    fdy nb el a spus

      prietenul trebuie să scrie pisică între ghilimele „pisică” sau „pisică” urmată de numele fișierului în care vrea să caute

  6.   enrique el a spus

    Bună, prietene, ai absolut dreptate, ai un mare simț al utilității. De acum înainte, am pus grep pe primul loc în lista mea de comenzi preferate.
    salutări

  7.   scanjura el a spus

    Și cum ar fi să arăți angajații filtrați după salariu?