Grundläggande filtrering med grep

En av de kommandon jag använder mest i terminalen är grep, ännu mer än cd o ls.

grep Den har många alternativ och erbjuder olika möjligheter, men jag använder det mest konventionella sättet, men låt oss börja med att förklara Vad är grep?

grep är helt enkelt ett filter, det är ett kommando som visar rader som matchar det filter vi har deklarerat.

I vårt system har vi till exempel filen / usr / dela / doc / bash / FAQ och innehållet i den här filen är:

Visa filinnehåll

Om du vill lista innehållet i terminalen med kommandot hur (ja katt, som katt hehe) de kan göra det:

cat /usr/share/doc/bash/FAQ

Antag att vi bara vill lista raden i den filen som talar om versionen, för detta använder vi grep:

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

Att sätta det i terminalen visar bara raden som innehåller "version" i den filen, den kommer inte längre att visa någon rad som inte innehåller det ordet.

Vad händer om jag vill visa allt utom versionsraden?

Det vill säga, på det sätt som jag förklarade för dig, skulle allt som matchar filtret visas, nu ska jag visa dig hur du får allt att se ut bortsett från vad matchar filtret:

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

Märker du skillnaden? ... helt enkelt lägga till -v det gör redan skillnad 😀

Så om de lägger grep det visar bara vad som matchar filtret, men om du lägger till grep -v det visar dig allt utom filtret.

Tja här slutar inlägget, bara ett tips till att de kanske kan förringa det men ... de har ingen aning om hur bra grep kan vara, det är allvarligt en livräddare 😀

hälsningar


Innehållet i artikeln följer våra principer om redaktionell etik. Klicka på för att rapportera ett fel här.

11 kommentarer, lämna din

Lämna din kommentar

Din e-postadress kommer inte att publiceras.

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   DMoZ sade

    Utan tvekan ett mycket mångsidigt kommando, när du väl lär dig att hantera det gör det ditt liv enklare =) ...

  2.   Scalibur sade

    Hej! .. .. verkligen ett mycket användbart kommando .. i mitt fall använder jag det mycket ..

    Ett enkelt exempel skulle till exempel vara dpkg -l | grep 'package' (i fallet med debianbaserade distros) används det för att veta om vi har det paketet installerat.

    Bra att ge dessa verktyg till hela vårt samhälle 😉

    1.    KZKG ^ Gaara sade

      Tack så mycket 😀
      Faktum är att grep är lika kraftfull som vår fantasi hahahaha, tillsammans med awk (och klippa) uppnår de verkligen underverk * ​​- *

      Jag lägger upp ett par tips till terminalarbetet inom kort 😉
      Hälsningar och tack för din kommentar.

      PS: Din e-postadress är intressant LOL !!

  3.   hexborg sade

    Mycket bra!! Ja, visst är grep en av livräddarna för alla som gillar att använda terminalen. Bara ett par kommentarer: Du behöver verkligen inte använda kattkommandot alls. Du kan sätta filnamnet som en grep-parameter så här:

    grep-version / usr / dela / doc / bash / FAQ

    Även om det inte kunde, skulle det alltid finnas möjlighet att omdirigera kommandoinmatningen genom att göra något så här:

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

    Det senare kan göras med valfritt kommando, så det är aldrig nödvändigt att använda cat för att skicka en fil till ingången till ett kommando.

    Att använda en omdirigering istället för katt gör att skalet startar en process mindre, vilket förbrukar färre resurser. Det är ingen märkbar skillnad, men det anses vara god praxis.

    Å andra sidan blir grep väldigt användbart när jag använder reguljära uttryck ... Om jag ville hjälpa till med att göra ett inlägg om reguljära uttryck, vad skulle jag göra? Räcker det att lägga till ett nytt inlägg från wordpress-skrivbordet?

    1.    KZKG ^ Gaara sade

      Åh intressant, jag har alltid vant mig vid att använda den med katten HAHAHAHA, tack för tipset 😀

      1.    Hugo sade

        Med grep kan du också göra filter lite mindre grundläggande, till exempel:

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

        Detta visar i princip raderna som innehåller termen vi letar efter (som kan vara i valfri kombination av stora och små bokstäver), plus de tre raderna före och efter tre, framhäver resultaten i en annan färg, sätter radnummer till resultaten, och det möjliggör möjliggörande av utökade reguljära uttryck som i det här fallet tillåter sökning i "myfile.txt" för alla rader som slutar med desdelinux, hacialinux eller vanlig linux (med eller utan en punkt).

        Förresten erbjuder reguljära uttryck mycket flexibilitet och varje bra "geek" med en passion för fri programvara borde lära sig att använda dem, hehe.

  4.   Dragnell sade

    Det är också möjligt att använda zgrep för surfplattor i .ta.gz. Det är mycket användbart när vi vill granska gamla loggar. Hälsningar

  5.   jhon sade

    Hej. tack för inlägget. Det händer mig att med grep blir ordet som jag skriver i raderna som visas inte färg. (i allmänhet är det så här) [exempel: grep cat file.txt]
    linjerna och katten visas, men katten vänder inte en viss färg för att skilja den ut
    (i ccompusen av min uni ses det)
    Vet du hur jag skulle kunna aktivera det här alternativet?
    Snälla om du kan svara mig. Min email är sps-003@hotmail.com

    1.    fdy nb sade

      vän måste skriva katt i citattecken 'katt' eller också "katt" följt av namnet på filen där han vill söka

  6.   Harry sade

    Hej vän, du har helt rätt, du har en stor känsla av nytta. Från och med nu sätter grep det först i min lista över favoritkommandon.
    gäller

  7.   scanjura sade

    Och hur skulle det vara att visa anställda filtrerade efter lön?