Basisfiltering met grep

Een van de opdrachten die ik het meest gebruik in de terminal is grep, zelfs meer dan cd o ls.

grep Het heeft veel opties en biedt verschillende mogelijkheden, maar ik gebruik de meest conventionele manier die mogelijk is, maar laten we beginnen met het uit te leggen Wat is grep?

grep is gewoon een filter, het is een commando dat regels toont die overeenkomen met het filter dat we hebben gedeclareerd.

In ons systeem hebben we bijvoorbeeld het bestand / usr / share / doc / bash / FAQ en de inhoud van dit bestand is:

Bekijk bestandsinhoud

Als u de inhoud in de terminal wilt weergeven met het commando hoe (ja kat, zoals kat hehe) ze kunnen het:

cat /usr/share/doc/bash/FAQ

Stel nu dat we alleen de regel van dat bestand willen vermelden die over de versie spreekt, hiervoor gebruiken we grep:

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

Als u dat in de terminal zet, wordt alleen de regel getoond die "versie" in dat bestand bevat, het zal niet langer een regel tonen die dat woord niet bevat.

Wat moet ik doen als ik alles wil laten zien behalve de versieregel?

Dat wil zeggen, zoals ik je heb uitgelegd, zou alles wat overeenkomt met het filter worden getoond, nu zal ik je laten zien hoe je alles kunt laten verschijnen behalve wat past bij het filter:

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

Merk je het verschil op? ... gewoon toevoegen -v het maakt al een verschil 😀

Dus als ze zetten grep het zal je alleen laten zien wat overeenkomt met het filter, maar als je grep-v het zal je alles laten zien behalve het filter.

Welnu, hier eindigt het bericht, gewoon weer een tip dat ze het nu misschien kunnen verachten, maar ... ze hebben geen idee hoe nuttig grep kan zijn, het is serieus een redder in nood

groeten


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   DMoZ zei

    Ongetwijfeld een zeer veelzijdige opdracht, als je eenmaal leert ermee om te gaan, wordt je leven gemakkelijker =) ...

  2.   Scalibur zei

    Hoi! .. .. echt een erg handig commando .. in mijn geval gebruik ik het nogal wat ..

    Een eenvoudig voorbeeld is bijvoorbeeld dpkg -l | grep 'pakket' (in het geval van distributies gebaseerd op debian), het wordt gebruikt om te weten of we dat pakket geïnstalleerd hebben.

    Geweldig om deze tools aan onze hele gemeenschap te geven 😉

    1.    KZKG ^ Gaara zei

      Heel erg bedankt 😀
      Inderdaad, grep is net zo krachtig als onze verbeelding hahahaha, samen met awk (and cut) bereiken ze echt wonderen * - *

      Ik zal binnenkort nog een paar tips voor terminalwerk geven 😉
      Groeten en bedankt voor je reactie.

      PS: je e-mail is interessant LOL !!

  3.   hexaborg zei

    Zeer goed!! Ja, grep is zeker een van de levensreddend voor iedereen die graag de terminal gebruikt. Slechts een paar opmerkingen: je hoeft het cat-commando helemaal niet te gebruiken. U kunt de bestandsnaam als een grep-parameter als volgt plaatsen:

    grep-versie / usr / share / doc / bash / FAQ

    Zelfs als het niet zou kunnen, zou er altijd de mogelijkheid zijn om de opdrachtinvoer om te leiden door zoiets als dit te doen:

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

    Dit laatste kan met elk commando worden gedaan, dus het is nooit nodig om cat te gebruiken om een ​​bestand naar de invoer van een commando te sturen.

    Als u een omleiding gebruikt in plaats van een kat, start de shell een proces minder, waardoor er minder bronnen worden verbruikt. Het is geen merkbaar verschil, maar het wordt wel als een goede praktijk beschouwd.

    Aan de andere kant wordt grep erg handig bij het gebruik van reguliere expressies ... Als ik zou willen helpen door een bericht te plaatsen over reguliere expressies, wat zou ik dan moeten doen? Is het voldoende om een ​​nieuw bericht toe te voegen vanaf het wordpress-bureaublad?

    1.    KZKG ^ Gaara zei

      Oh interessant, ik ben er altijd aan gewend geraakt om het te gebruiken met kat HAHAHAHA, bedankt voor de tip 😀

      1.    Hugo zei

        Met grep kun je filters ook wat minder basic maken, bijvoorbeeld:

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

        Dit toont in principe de regels die de term bevatten waarnaar we zoeken (die in elke combinatie van hoofdletters en kleine letters kan zijn), plus de drie regels ervoor en de drie erna, markeert de resultaten in een andere kleur, zet regelnummers op de resultaten, en maakt het mogelijk om uitgebreide reguliere expressies in te schakelen die in dit geval het zoeken in “mijnbestand.txt” mogelijk maken voor alle regels die eindigen op desdelinux, richting Linux of gewone Linux (met of zonder eindpunt).

        Overigens bieden reguliere expressies veel flexibiliteit en elke goede "nerd" met een passie voor vrije software zou ze moeten leren gebruiken, hehe.

  4.   dragnell zei

    Het is ook mogelijk om zgrep te gebruiken voor tablets in .ta.gz, het is erg handig als we oude logs willen bekijken. Proost

  5.   Jhon zei

    Hoi. bedankt voor de post. Het overkomt mij dat als ik grep gebruik, het woord dat ik schrijf in de regels die verschijnen niet van kleur wordt. (over het algemeen is het zo) [voorbeeld: grep cat file.txt]
    de lijnen en de kat verschijnen, maar de kat verandert niet een bepaalde kleur om hem te onderscheiden
    (in de compus van mijn uni wordt het gezien)
    Weet je hoe ik deze optie zou kunnen activeren?
    Kunt u mij alstublieft antwoorden? mijn email is sps-003@hotmail.com

    1.    fdy nb zei

      vriend moet kat tussen aanhalingstekens schrijven 'kat' of ook 'kat' gevolgd door de naam van het bestand waar hij het wil vinden

  6.   enrique zei

    Hallo vriend, je hebt helemaal gelijk, je hebt een groot gevoel van bruikbaarheid. Vanaf nu zet ik grep op de eerste plaats in mijn lijst met favoriete opdrachten.
    groeten

  7.   scanjura zei

    En hoe zou het zijn om werknemers gefilterd op salaris te laten zien?