Pagrindinis filtravimas naudojant grep

Viena iš komandų, kurią dažniausiai naudoju terminale, yra grep, net daugiau nei cd o ls.

grep Jis turi daug galimybių ir siūlo skirtingas galimybes, tačiau aš naudoju kuo įprastesnį būdą, bet pradėkime nuo paaiškinimo Kas yra grepas?

grep yra tiesiog filtras, tai komanda, rodanti eilutes, atitinkančias mūsų deklaruotą filtrą.

Pavyzdžiui, savo sistemoje turime failą / usr / share / doc / bash / DUK ir šio failo turinys yra:

Peržiūrėti failo turinį

Jei norite komandoje išvardyti terminalo turinį kaip (taip katė, kaip ir katė hehe) jie gali tai padaryti:

cat /usr/share/doc/bash/FAQ

Tarkime, kad mes norime išvardyti tik to failo eilutę, kurioje kalbama apie versiją, tam mes naudojame grep:

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

Įvedus tai į terminalą, bus rodoma tik eilutė, kurioje yra „version“ tame faile, nebebus rodoma jokia eilutė, kurioje nėra šio žodžio.

Ką daryti, jei noriu parodyti viską, išskyrus versijos eilutę?

Tai reiškia, kad taip, kaip aš jums paaiškinau, bus rodoma viskas, kas atitinka filtrą, dabar aš jums parodysiu, kaip viską padaryti išskyrus kas atitinka filtrą:

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

Ar pastebite skirtumą? ... tiesiog pridedant -v tai jau daro skirtumą 😀

Taigi, jei jie įdėti grep bus rodoma tik tai, kas atitinka filtrą, bet jei įdėsite grep -v jis jums parodys viską, išskyrus filtrą.

Na, čia įrašas baigiasi, tik dar vienas patarimas, kad dabar galbūt jie gali jį sumenkinti, bet ... jie neįsivaizduoja, koks gali būti naudingas grepas, tai rimtai yra gyvybės taupytojas

saludos


Straipsnio turinys atitinka mūsų principus redakcijos etika. Norėdami pranešti apie klaidą, spustelėkite čia.

11 komentarai, palikite savo

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   „DMoZ“ sakė

    Neabejotinai labai universali komanda, išmokus ją valdyti, palengvina jūsų gyvenimą =) ...

  2.   Skalibūras sakė

    Sveiki! .. ..tikrai labai naudinga komanda .. mano atveju ja daug naudoju ..

    Paprastas pavyzdys būtų, pavyzdžiui, dpkg -l | „grep“ paketas (jei yra debiano pagrindu veikiančių distros), jis naudojamas žinant, ar turime tą paketą.

    Puiku duoti šias priemones visai mūsų bendruomenei 😉

    1.    KZKG ^ Gaara sakė

      Labai ačiū 😀
      Iš tiesų, grepas yra toks pat galingas, kaip mūsų vaizduotė, hahahaha, kartu su awk (ir supjaustytais) jie tikrai daro stebuklus * - *

      Netrukus pateiksiu dar keletą patarimų terminalo darbams 😉
      Sveikinimai ir ačiū už jūsų komentarą.

      PS: Įdomu jūsų el. Paštas LOL !!

  3.   Hexborg sakė

    Labai gerai!! Taip, be abejo, „grep“ yra vienas iš gelbėtojų visiems, mėgstantiems naudotis terminalu. Tik pora pastabų: jums tikrai nereikia naudoti katės komandos. Failo pavadinimą galite įdėti kaip tokį grep parametrą:

    grep versija / usr / share / doc / bash / DUK

    Be to, net jei ir nepavyktų, visada būtų galimybė peradresuoti komandos įvestį darant kažką panašaus:

    grep versija </ usr / share / doc / bash / DUK

    Pastarąjį galima atlikti naudojant bet kurią komandą, todėl niekada nereikia naudoti „cat“, norint nusiųsti failą į komandos įvestį.

    Naudojant peradresavimą vietoj katės, apvalkalas paleidžia vienu procesu mažiau, taigi sunaudoja mažiau išteklių. Tai nėra pastebimas skirtumas, tačiau tai laikoma gera praktika.

    Kita vertus, „grep“ tampa tikrai naudingas naudojant įprastus posakius ... Jei norėčiau padėti paskelbdamas įrašą apie reguliarius posakius, ką turėčiau daryti? Ar pakanka pridėti naują įrašą iš „WordPress“ darbalaukio?

    1.    KZKG ^ Gaara sakė

      O įdomu, aš visada pripratau jį naudoti su kate HAHAHAHA, ačiū už patarimą 😀

      1.    Hugo sakė

        Naudodami „grep“ filtrus taip pat galite padaryti šiek tiek mažiau paprastus, pavyzdžiui:

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

        Iš esmės tai rodo eilutes, kuriose yra ieškomas terminas (kuris gali būti bet kokių didžiųjų ir mažųjų raidžių derinys), taip pat trys eilutės prieš ir po trijų, paryškina rezultatus kita spalva, priskiria rezultatams eilučių numerius ir Tai leidžia įjungti išplėstinius reguliarius posakius, kurie šiuo atveju leidžia ieškoti „myfile.txt“ visose eilutėse, kurios baigiasi desdelinux, hacialinux arba plain linux (su tašku arba be jo).

        Beje, reguliarūs posakiai suteikia daug lankstumo ir kiekvienas geras „geekas“, užsidegęs laisva programine įranga, turėtų išmokti jais naudotis, hehe.

  4.   Dragnellas sakė

    Taip pat galima naudoti „zgrep“ planšetiniams kompiuteriams .ta.gz. Tai labai naudinga, kai norime peržiūrėti senus žurnalus. Cheers

  5.   Jhon sakė

    Sveiki. ačiū už įrašą. Man nutinka taip, kad naudojant „grep“ žodis, kurį rašau pasirodžiusiose eilutėse, netampa spalvotas. (paprastai taip yra) [pavyzdys: grep cat file.txt]
    linijos ir katė pasirodo, tačiau katė tam tikros spalvos nesukelia, kad ją būtų galima atskirti
    (mano uni kkompuse tai matoma)
    Ar žinote, kaip galėčiau suaktyvinti šią parinktį?
    Prašau, jei galite man atsakyti. Mano el. paštas yra sps-003@hotmail.com

    1.    fdy nb sakė

      draugas turi parašyti katę kabutėse „katė“ arba „katė“, po kurios nurodomas failo pavadinimas, kur jis nori jį rasti

  6.   Enrique sakė

    Sveikas drauge, jūs visiškai teisus, turite puikų naudingumo jausmą. Nuo šiol grep pirmiausia įtraukiu į savo mėgstamiausių komandų sąrašą.
    dėl

  7.   skanjura sakė

    O kaip būtų rodyti darbuotojus, filtruotus pagal atlyginimus?