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.