Näytä rivit ennen ja jälkeen ottelun Grepin kautta

Show Lines Before After Match Via Grep



Grepia on käytetty laajalti Linux -järjestelmissä, kun se käsittelee joitain tiedostoja, etsii jotain tiettyä mallia ja paljon muuta. Tällä kertaa käytämme grep -komentoa näyttääksemme rivit ennen ja jälkeen vastaavaa avainsanaa, jota käytetään tietyssä tiedostossa. Tätä tarkoitusta varten käytämme -A-, -B- ja -C -lippua koko opetusoppaassamme. Joten sinun on suoritettava jokainen vaihe ymmärtääksesi paremmin. Varmista, että sinulla on Ubuntu 20.04 Linux -järjestelmä asennettuna.

Ensinnäkin sinun on avattava Linux-komentorivipääte, jotta voit aloittaa työskentelyn grepillä. Olet tällä hetkellä Ubuntu-järjestelmän kotihakemistossa heti komentoriviterminaalin avaamisen jälkeen. Yritä siis luetella kaikki Linux -järjestelmän kotihakemistossa olevat tiedostot ja kansiot alla olevan ls -komennon avulla, niin saat kaiken. Näet, että meillä on joitain tekstitiedostoja ja joitain kansioita.







ls



Esimerkki 01: '-A' ja '-B'

Yllä olevista tekstitiedostoista katsomme joitain näistä ja yritämme käyttää grep-komentoa niihin. Avaa ensin tekstitiedosto one.txt käyttämällä suosittua kissakomentoa alla:



$kissaone.txt





Näemme ensin tietyt sanat tässä tekstitiedostossa käyttämällä grep -komentoa alla. Etsimme sanaa me tekstitiedostosta one.txt käyttämällä grep -ohjeita. Tulos näyttää kaksi riviä tekstitiedostosta, jossa olemme ne.

$pitome one.txt



Joten tässä esimerkissä näytämme rivit ennen ja jälkeen tietyn sanahaun joissakin tekstitiedostoissa. Joten käyttämällä samaa tekstitiedostoa one.txt olemme yhdistäneet sanan we samalla kun näytämme sen edessä olevat 3 riviä kuten alla. Lippu -B tarkoittaa Ennen. Tulos näyttää vain 2 riviä ennen tiettyä sanariviä, koska tiedostossa ei ole enempää rivejä tietyn sanan rivin edessä. Se näyttää myös ne rivit, joissa on kyseinen sana.

$pito–B3me one.txt

Käytämme samaa avainsanaa tästä tiedostosta näyttääksemme kolme riviä rivin jälkeen, joissa on sana me. Lippu -A esittelee Afterin. Tulos näyttää jälleen vain 2 riviä, koska tiedostossa ei ole enempää rivejä.

$pito-TO3me one.txt

Käytämme siis uutta avainsanaa vastaamaan ja näytämme rivit tai rivit ennen ja jälkeen rivin, jossa se sijaitsee. Joten olemme käyttäneet sanaa voidaan sovittaa yhteen. Rivinumerot ovat tässä tapauksessa samat. 3 riviä vastaavan sanan jälkeen on voitu näyttää alla grep -komennolla.

$pito-TO3voi one.txt

Näet tuloksen näytöt ennen hakusanan rivejä käyttämällä avainsanaa. Sitä vastoin se näyttää vain kaksi riviä ennen vastaavan sanan riviä, koska sen edessä ei ole enää rivejä.

$pito–B3voi one.txt

Esimerkki 02: '-A' ja '-B'

Otetaan toinen tekstitiedosto, two.txt, kotihakemistosta ja näytetään sen sisältö alla olevan cat -komennon avulla.

$kissatwo.txt

Näytämme viisi riviä ennen sanaa Most tiedostosta two.txt käyttämällä grep -komentoa. Tulos näyttää 5 riviä ennen kuin rivi sisältää tietyn sanan.

$pito–B5Useimmat two.txt

Grep -komento näyttää 5 riviä sanan Most jälkeen tekstitiedostosta two.txt alla.

$pito-TO5Useimmat two.txt

Muutetaan haettava avainsana. Käytämme tällä kertaa avainsanaa, joka on täsmäytettävä. Näytä kaksi riviä ennen sanaa tekstitiedostosta two.txt voidaan tehdä käyttämällä alla olevaa grep -komentoa. Tulos näyttää kaksi riviä avainsanalle, koska se tulee kahdesti tiedostoon. Lähtö sisältää siis yli 2 riviä.

$pito–B2kahdesta. txt

Tiedoston two.txt 2 rivin näyttäminen nyt avainsanan sisältävän rivin jälkeen voidaan tehdä käyttämällä alla olevaa komentoa. Lähtö näyttää jälleen yli 2 riviä.

$pito-TO2kahdesta. txt

Esimerkki 03: -C: n käyttäminen

Toista lippua, -C, on käytetty näyttämään rivit ennen ja jälkeen vastaavan sanan. Näytämme tiedoston one.txt sisällön käyttämällä cat -komentoa.

$kissaone.txt

Valitsemme yhteiskunnan avainsanaksi. Alla oleva grep -komento näyttää 2 riviä ennen ja 2 riviä sen rivin jälkeen, joka sisältää sanan yhteiskunta. Tulos näyttää yhden rivin ennen tiettyä sanariviä ja 2 riviä sen jälkeen.

$pito–C2yhteiskunta one.txt

Katsotaanpa tiedoston two.txt sisältöä käyttämällä alla olevaa cat -komentoa.

$kissatwo.txt

Tässä kuvassa käytämme runoja avainsanaksi. Suorita siis alla oleva komento tätä varten. Tulos näyttää kaksi riviä ennen sovitettua sanaa ja kaksi riviä.

$pito–C2runoja two.txt

Käytämme vielä yhtä avainsanaa haettavasta tiedostosta two.txt. Kulutamme tällä kertaa luonnon avainsanaksi. Joten kokeile alla olevaa komentoa, kun käytät -C -lippua, jonka avainsana on luonne tiedostosta two.txt. Tällä kertaa lähdössä on enemmän kuin kaksi riviä lähdössä. Koska tiedosto sisältää sanan luonne useammin kuin kerran, se on sen takana. Avainsanalla luonto, joka tulee ensin, on kaksi riviä ennen ja kaksi riviä sen jälkeen. Vaikka toinen vastasi samaa avainsanaa, luonnossa on kaksi riviä ennen sitä, mutta sen jälkeen ei ole rivejä, koska se on tiedoston viimeisellä rivillä.

$pito–C2runoja two.txt

Johtopäätös

Olemme onnistuneet näyttämään rivit ennen ja jälkeen tietyn sanan käyttäessämme grep -ohjetta.