Thegrep>komento Unix/Linuxissa on tehokas työkalu, jota käytetään tiedostojen tekstimallien etsimiseen ja käsittelemiseen. Sen nimi on johdettu ed (editori) -komennolla g/re/p (hakee maailmanlaajuisesti säännöllistä lauseketta ja tulostaa vastaavat rivit), mikä kuvastaa sen ydintoimintoa.grep>sitä käyttävät laajasti ohjelmoijat, järjestelmänvalvojat ja käyttäjät sen tehokkuuden ja monipuolisuuden vuoksi tekstidatan käsittelyssä. Tässä artikkelissa tutkimme sen eri puoliagrep>komento.
Sisällysluettelo
- Grep-komennon syntaksi Unixissa/Linuxissa
- Vaihtoehdot ovat käytettävissä grep-komennossa
- Käytännön esimerkki grep-komennosta Linuxissa
- 1. Haku, jossa kirjainkoko ei eroa
- 2. Osumien määrän näyttäminen käyttämällä grep
- 3. Näytä kuviota vastaavat tiedostonimet käyttämällä grep
- 4. Tiedoston kokonaisten sanojen tarkistaminen grep-komennolla
- 5. Vain vastaavan kuvion näyttäminen Käytä grep
- 6. Näytä rivinumero näyttäessäsi lähtöä käyttämällä grep -n
- 7. Käänteinen kuviosovitus käyttämällä grep
- 8. Merkkijonolla alkavien rivien yhdistäminen grep-komennolla
- 9. Merkkijonoon päättyvien rivien yhdistäminen käyttämällä grep
- 10.Määrittää lausekkeen -e-vaihtoehdolla
- 11. -f file option Ottaa kuviot tiedostosta, yksi riviä kohden
- 12. Tulosta n tiettyä riviä tiedostosta käyttämällä grep
- 13. Etsi kuviota rekursiivisesti hakemistosta
Grep-komennon syntaksi Unixissa/Linuxissa
Kohteen ` perussyntaksi grep`> komento on seuraava:
grep [options] pattern [files]>
Tässä,
[> options> ]>: Nämä ovat komentorivin lippuja, jotka muokkaavat sovelluksen toimintaagrep>.
[> pattern> ]>: Tämä on säännöllinen lauseke, jota haluat etsiä.
[> file> ]>: Tämä on niiden tiedostojen nimi, joista haluat etsiä. Voit määrittää useita tiedostoja samanaikaista hakua varten.
Vaihtoehdot ovat käytettävissä grep-komennossa
| Vaihtoehdot | Kuvaus |
|---|---|
| -c | Tämä tulostaa vain niiden viivojen määrän, jotka vastaavat kuviota |
| -h | Näytä vastaavat rivit, mutta älä näytä tiedostonimiä. |
| – i | Ohitetaan, kirjainkoon täsmääminen |
| -l leksikografisesti | Näyttää vain tiedostonimien luettelon. |
| -n | Näytä vastaavat rivit ja niiden rivinumerot. |
| -sisään | Tämä tulostaa kaikki viivat, jotka eivät vastaa kuviota |
| -e exp | Määrittää lausekkeen tällä valinnalla. Voidaan käyttää useita kertoja. |
| -f tiedosto | Ottaa kuviot tiedostosta, yhden per rivi. |
| -JA | Käsittelee kuviota laajennettuna säännöllisenä lausekkeena (ERE) |
| -Sisään | Yhdistä koko sana |
| -O | Tulosta vain vastaavan rivin vastaavat osat ja kukin tällainen osa erilliselle tulosteen riville. |
| -A n | Tulostaa haetun rivin ja n-rivin tuloksen jälkeen. |
| -B n | Tulostaa haun rivin ja n rivin ennen tulosta. |
| -C n | Tulostaa haun rivin ja n riviä ennen tulosta. |
Esimerkkikomennot
Harkitse alla olevaa tiedostoa syötteenä.
cat>geekfile.txt>>unix on loistava käyttöjärjestelmä. unix kehitettiin Bell Labsissa.
opettele käyttöjärjestelmä.
Unix linux kumman valitset.
uNix on helppo oppia.unix on monen käyttäjän käyttöjärjestelmä.Opi unix .unix on tehokas.
Käytännön esimerkki grep-komennosta Linuxissa
1. Haku, jossa kirjainkoko ei eroa
Vaihtoehto -i mahdollistaa merkkijonon kirjainkootun etsimisen annetusta tiedostosta epäherkästi. Se vastaa sanoja kuten UNIX, Unix, unix.
Lähtö:

Kirjainkoolla ei ole merkitystä haku
2. Osumien määrän näyttäminen käyttämällä grep
Voimme löytää rivien lukumäärän, jotka vastaavat annettua merkkijonoa/mallia
grep -c 'unix' geekfile.txt>
Lähtö:

Näyttää otteluiden lukumäärän
3. Näytä kuviota vastaavat tiedostonimet käyttämällä grep
Voimme vain näyttää tiedostot, jotka sisältävät annetun merkkijonon/mallin.
grep -l 'unix' *>
tai
grep -l 'unix' f1.txt f2.txt f3.xt f4.txt>
Lähtö:

Kuviota vastaava tiedostonimi
4. Tiedoston kokonaisten sanojen tarkistaminen grep-komennolla
Oletuksena grep vastaa annettua merkkijonoa/mallia, vaikka se löytyisi tiedostosta alimerkkijonona. Vaihtoehto -w grepille saa sen vastaamaan vain kokonaisia sanoja.
grep -w 'unix' geekfile.txt>
Lähtö:

tarkastaa kokonaisia sanoja tiedostossa
5. Vain vastaavan kuvion näyttäminen Käytä grep
Oletusarvoisesti grep näyttää koko rivin, jolla on vastaava merkkijono. Voimme saada grep näyttämään vain vastaavan merkkijonon käyttämällä -o-vaihtoehtoa.
grep -o 'unix' geekfile.txt>
Lähtö:

Näyttää vain vastaavan kuvion
6. Näytä rivinumero näyttäessäsi lähtöä käyttämällä grep -n
Jos haluat näyttää tiedoston rivinumeron, jonka rivi vastaa.
grep -n 'unix' geekfile.txt>
Lähtö:

Näytä rivinumero samalla kun tuloste näytetään
7. Käänteinen kuviosovitus käyttämällä grep
Voit näyttää rivit, jotka eivät vastaa määritettyä hakumerkkijonomallia käyttämällä -v-vaihtoehtoa.
grep -v 'unix' geekfile.txt>
Lähtö:

Käänteinen kuviosovitus
8. Merkkijonolla alkavien rivien yhdistäminen grep-komennolla
Säännöllinen lausekemalli ^ määrittää rivin alun. Tätä voidaan käyttää grepissä sovittamaan rivit, jotka alkavat annetulla merkkijonolla tai kuviolla.
grep '^unix' geekfile.txt>
Lähtö:

Merkkijonolla alkavien rivien yhdistäminen
9. Merkkijonoon päättyvien rivien yhdistäminen käyttämällä grep
Säännöllisen lausekkeen $ malli määrittää rivin lopun. Tätä voidaan käyttää grepissä sovittamaan rivit, jotka päättyvät annettuun merkkijonoon tai kuvioon.
grep 'os$' geekfile.txt>
10.Määrittää lausekkeen -e-vaihtoehdolla
Voidaan käyttää useita kertoja:
grep –e 'Agarwal' –e 'Aggarwal' –e 'Agrawal' geekfile.txt>
11. -f file option Ottaa kuviot tiedostosta, yksi riviä kohden
cat pattern.txt>
Agarwal
Aggarwal
Agrawal
grep –f pattern.txt geekfile.txt>
12. Tulosta n tiettyä riviä tiedostosta käyttämällä grep
-A tulostaa haetun rivin ja n riviä tuloksen jälkeen, -B tulostaa haetun rivin ja n riviä ennen tulosta, ja -C tulostaa haetun rivin ja n riviä tuloksen jälkeen ja ennen.
Syntaksi:
grep -A[NumberOfLines(n)] [search] [file] grep -B[NumberOfLines(n)] [search] [file] grep -C[NumberOfLines(n)] [search] [file]>
Esimerkki:
grep -A1 learn geekfile.txt>
Lähtö:

Tulosta tiedostosta n tiettyä riviä
13. Etsi kuviota rekursiivisesti D irectory
-R tulostaa haetun kuvion annetusta hakemistosta rekursiivisesti kaikkiin tiedostoihin.
Syntaksi:
grep -R [Search] [directory]>
Esimerkki:
grep -iR geeks /home/geeks>
Lähtö:
./geeks2.txt:Well Hello Geeks ./geeks1.txt:I am a big time geek ---------------------------------- -i to search for a string case insensitively -R to recursively check all the files in the directory.>
Johtopäätös
Tässä artikkelissa keskustelimmegrep>komento Linuxissa, joka on tehokas tekstihakutyökalu, joka käyttää säännöllisiä lausekkeita löytääkseen kuvioita tai tekstiä tiedostoista. Se tarjoaa erilaisia vaihtoehtoja, kuten kirjainkokoa, vastaavuuksien laskemista ja tiedostojen nimien luetteloimista. Mahdollisuus etsiä rekursiivisesti, käyttää säännöllisten lausekkeiden lippuja ja mukauttaa tulostusta,grep>on Linux-käyttäjille tärkeä työkalu tekstiin liittyvien tehtävien tehokkaaseen käsittelyyn. Masterointigrep>parantaa kykyäsi työskennellä tekstidatan kanssa Linux-ympäristössä.