Grundlæggende filtrering med grep

En af de kommandoer, jeg bruger mest i terminalen, er grep, endnu mere end cd o ls.

grep Det har mange muligheder og tilbyder forskellige muligheder, men jeg bruger den mest konventionelle måde, men lad os starte med at forklare Hvad er grep?

grep er simpelthen et filter, det er en kommando, der viser linjer, der matcher det filter, vi har deklareret.

For eksempel har vi filen i vores system / usr / share / doc / bash / FAQ og indholdet af denne fil er:

Se filindhold

Hvis du vil liste indholdet i terminalen med kommandoen hvordan (ja kat, ligesom kat hehe) de kan gøre det:

cat /usr/share/doc/bash/FAQ

Antag nu, at vi kun vil liste linjen i den fil, der taler om versionen, til dette bruger vi grep:

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

At sætte det i terminalen viser dig kun linjen, der indeholder "version" i den fil, den viser ikke længere nogen linje, der ikke indeholder dette ord.

Hvad hvis jeg vil vise alt undtagen versionslinjen?

På den måde, som jeg forklarede dig, ville alt, der matcher filteret blive vist, nu vil jeg vise dig, hvordan du får alt til at vises undtagen hvad matcher filteret:

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

Ser du forskellen? ... blot tilføje -v det gør allerede en forskel 😀

Så hvis de sætter grep det viser kun hvad der matcher filteret, men hvis du sætter det grep -v det viser dig alt undtagen filteret.

Nå her slutter indlægget, bare endnu et tip om, at de måske nu kan nedgøre det, men ... de aner ikke, hvor nyttigt grep kan være, det er seriøst en livredder

hilsen


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

11 kommentarer, lad dine

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   DMoZ sagde han

    Utvivlsomt en meget alsidig kommando, når du først lærer at håndtere det, gør det dit liv lettere =) ...

  2.   Scalibur sagde han

    Hej! .. .. virkelig en meget nyttig kommando .. i mit tilfælde bruger jeg den meget ..

    Et simpelt eksempel ville for eksempel være dpkg -l | grep 'pakke' (i tilfælde af distros baseret på debian) bruges den til at vide, om vi har den pakke installeret.

    Fantastisk at give disse værktøjer til hele vores samfund 😉

    1.    KZKG ^ Gaara sagde han

      Mange tak 😀
      Faktisk er grep lige så stærk som vores fantasi hahahaha, sammen med awk (og cut) opnår de virkelig vidundere * - *

      Jeg vil snart give et par flere tip til terminalarbejde 😉
      Hilsner og tak for din kommentar.

      PS: Interessant din email LOL !!

  3.   hexborg sagde han

    Meget godt!! Ja, bestemt er grep en af ​​livredderne for alle, der kan lide at bruge terminalen. Bare et par bemærkninger: Du behøver slet ikke bruge kattekommandoen. Du kan sætte filnavnet som en grep-parameter som denne:

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

    Også selvom det ikke kunne, ville der altid være mulighed for at omdirigere kommandoindgangen ved at gøre noget som dette:

    grep-version </ usr / share / doc / bash / FAQ

    Sidstnævnte kan gøres med en hvilken som helst kommando, så det er aldrig nødvendigt at bruge cat til at sende en fil til input af en kommando.

    Brug af en omdirigering i stedet for kat får skallen til at starte en proces mindre og forbruge dermed færre ressourcer. Det er ikke en mærkbar forskel, men det betragtes som god praksis.

    På den anden side bliver grep virkelig nyttig, når jeg bruger regulære udtryk ... Hvis jeg ville hjælpe med at lave et indlæg om regulære udtryk, hvad skulle jeg så gøre? Er det nok at tilføje et nyt indlæg fra wordpress-skrivebordet?

    1.    KZKG ^ Gaara sagde han

      Åh interessant, jeg har altid vænnet mig til at bruge den med katten HAHAHAHA, tak for tipet 😀

      1.    Hugo sagde han

        Med grep kan du også gøre filtre lidt mindre basale, for eksempel:

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

        Dette viser dybest set de linjer, der indeholder det udtryk, vi leder efter (som kan være i enhver kombination af store og små bogstaver) plus de tre linjer før og efter tre, fremhæver resultaterne i en anden farve, sætter linjenumre til resultaterne, og det tillader aktivering af udvidede regulære udtryk, der i dette tilfælde tillader søgning i "myfile.txt" for alle linjer, der slutter med desdelinux, hacialinux eller almindelig linux (med eller uden en periode).

        Forresten tilbyder regulære udtryk en masse fleksibilitet, og enhver god "nørd" med en passion for gratis software skal lære at bruge dem, hehe.

  4.   Dragnell sagde han

    Det er også muligt at bruge zgrep til tablets i .ta.gz, det er meget nyttigt, når vi vil gennemgå gamle logfiler. Skål

  5.   Jhon sagde han

    Hej. tak for stillingen. Det sker for mig, at ved hjælp af grep bliver ordet, som jeg skriver i de viste linjer, ikke farve. (generelt er det sådan) [eksempel: grep cat file.txt]
    linjerne og katten vises, men katten vender ikke en bestemt farve for at skelne mellem den
    (i ccompus af min uni ses det)
    Ved du, hvordan jeg kunne aktivere denne mulighed?
    Venligst hvis du kan svare mig. min email er sps-003@hotmail.com

    1.    fdy nb sagde han

      ven skal skrive kat med citater 'kat' eller også "kat" efterfulgt af navnet på den fil, hvor han vil søge

  6.   enrique sagde han

    Hej ven, du har helt ret, du har en stor følelse af nyttighed. Fra nu af sætter jeg grep først på min liste over foretrukne kommandoer.
    hensyn

  7.   scanjura sagde han

    Og hvordan ville det være at vise ansatte filtreret efter løn?