Linux tarjoaa grep
tekstin suodattamiseen. Mutta joissakin tilanteissa saatamme tarvita laajempaa työkalua sovittamaan annettua mallia annettuihin tekstitiedostoihin. Tätä työkalua kutsutaan Extended Global Regular Expression Print
tai yksinkertaisesti egrep
. egrep
tarjoaa laajennettuja ominaisuuksia tavalliseen grep
-työkaluun verrattuna.
Komennon egrep
syntaksi on seuraavanlainen.
egrep FLAG REGEX FILE
- `FLAG`:ia käytetään `egrep`komennon joidenkin ominaisuuksien muuttamiseen.
- `REGEX` on kuvio, jota haluamme etsiä regex-muodossa.
- `FILE` on tiedoston nimi, josta etsimme
Haku normaalisti
Voidaan käyttää egrep
:ää tavallisen tekstin etsimiseen ilman säännöllistä lauseketta. Meidän tarvitsee vain antaa termi, jota haluamme etsiä. Tässä esimerkissä etsimme ismail
tiedostosta nimeltä /etc/passwd
.
$ egrep ismail /etc/passwd
Tarkista rivit, jotka sisältävät numeerisia merkkejä
Voimme määritellä numeerisia merkkejä käyttämällä , joka tarkoittaa jotakin numeerista arvoa väliltä 0-9.
$ egrep ''/etc/passwd
Match Lines Contains Alphabet Characters
Voidaan myös määrittää aakkosmerkkejä käyttämällä pienille kirjaimille ja
isoille kirjaimille. Tässä esimerkissä sovitamme isoja kirjainmerkkejä.
$ egrep ''/etc/passwd
Match All Lines Starting with Alphabet
Voidaan sovittaa rivien alkuun merkillä ^
. Tässä esimerkissä etsimme kaikki rivit, jotka alkavat aakkosmerkillä.
$ egrep '^' myinput.py
Match All Lines Ending with Numeric
Voidaan määrittää rivin loppu $
-merkillä. Seuraava komento listaa kaikki numeromerkillä päättyvät rivit.
$ egrep '$' myinput.py
Match Caseinsenstive
egrep
on oletusarvoisesti case-senstive. Case sensitive tarkoittaa, että isot ja pienet kirjaimet ovat erilaisia, kuten A
on erilainen kuin a
. Voimme halutessamme tehdä ottelustamme caseinsensitiivisen käyttämällä -i
-vaihtoehtoa lipukkeena. Seuraava esimerkki vastaa kaikkia seuraavia sanoja
- IsmaiL
- ismAIL
- ISMAIL
$ egrep -i 'ismail' myinput.py
.