Grep-käsku kasutatakse tekstifailist stringide otsimiseks. Siin on kümme grep-i näidet, millest võiksite abi olla.
Grep-käsk annab juurdepääsu grep-utiliidile, mis on võimas failitöötlustööriist, mida kasutatakse tekstifailidest mustrite leidmiseks. Sellel on palju praktilisi kasutusjuhtumeid ja see on kindlasti üks enimkasutatavaid Linuxi käske. See juhend illustreerib mõningaid lihtsaid, kuid kasulikke Linuxi grep-käske, mida reaalses maailmas kasutatakse.
Näidisfail näidiseks
Oleme loonud viitefaili, mis aitab lugejatel grepist tõhusamalt aru saada. Selle faili koopia saate luua, väljastades oma terminalis järgmise shellikäsu.
kass <> test-fail
See on lihtne tekstifail, mis sisaldab
mitu stringi ja mõned telefoninumbrid
(555) 555-1234 (567) 666-2345
ja e-post ning veebiaadressid
[email protected]
https://google.com
ftp://mywebserver.com
LÕPP
1. Leidke failidest tekst
Failist tekstimustri otsimiseks käivitage lihtsalt grep, millele järgneb mustri nimi. Samuti määrake teksti sisaldava faili nimi.
grep "email" test-fail
See käsk kuvab meie rida test-fail mis sisaldab sõna e-post. Grepi abil saate sama teksti otsida ka mitmest failist.
grep "näide" / usr / share / dict / ameerika-eesti / usr / share / dict / briti-inglise
Ülaltoodud käsk kuvab kõik sõna eksemplarid näide aastal Ameerika inglise keel ja Briti inglise keel sõnastiku failid.
2. Leidke täpsed vastesõnad
Varasemas näites illustreeritud Linuxi käsk grep loetleb ka osalise vastega read. Kasutage allpool antud käsku, kui vajate ainult sõna täpseid esinemisi.
grep -w "string" test-fail
The -w või - sõna-regexp valik grep piirab väljundi ainult täpsete vastetega. Grep koosneb mõnest täiendavast lipust, mida saab kasutada ka vaikekäsuga.
Seotud: Kuidas Grep oma nime sai? Ajalugu Grepi loomingu taga
3. Eirake juhtumite eristusi
Vaikimisi otsib grep mustreid tõstutundlikult. Kuid võite selle välja lülitada, kui te ei tea, millisel juhul on muster eelnevalt.
grep -i "see" test-fail
Kasuta -i või --ignore-case võimalus juhtude tundlikkuse väljalülitamiseks.
4. Loendage mustrite arv
The -c lipp tähistab loendama. See näitab konkreetse mustri jaoks leitud vastete arvu. Administraatorid saavad seda kasutada süsteemi kohta konkreetse teabe hankimiseks.
Võite toru teha ps käsk grepiga praegusele kasutajale kuuluvate protsesside loendamiseks.
ps -ef | grep -c $ KASUTAJA
Järgmine käsk kuvab nende arvu MP3 kataloogis olevad failid.
ls ~ / muusika | grep -c .mp3
5. Kuvage vasteid sisaldavad reanumbrid
Võib-olla soovite leida rida numbrid, mis sisaldavad teatud vastet. Kasuta -n või --rea number grepi võimalus selle saavutamiseks.
kass / etc / passwd | grep -n rubaiat
See valik on eriti kasulik lähtekoodide silumine ja tõrkeotsing logifaile. Kõikide ridade numbrite kuvamiseks ~ / .vrmr mida kasutatakse Vim-tekstiredaktori konfigureerimine:
grep -n "seatud" ~ / .vimrc
6. Failinimede otsimine laienduste abil
Kõigi nende nimekirja saamiseks MP3 failis olevad failid ~ / Muusika kataloog:
ls ~ / muusika / | grep ".mp3"
Saate asendada .mp3 mis tahes muude laienditega konkreetsete failide leidmiseks. Järgmine käsk loetleb kõik php praeguses töökataloogis olevad failid.
ls | grep ".php"
7. Mustrite leidmine tihendatud failidest
Linuxi käsk grep võib mustreid leida ka tihendatud failidest. Peate kasutama zgrep käsk seda teha. Kõigepealt looge meie tihendatud arhiiv test-fail kirjutades:
gzip-testfail
Nüüd saate saadud arhiivist teksti või muid mustreid otsida.
zgrep e-posti test-file.gz
8. Leidke e-posti aadressid
Administraatorid saavad Linuxi käskluse abil loetleda ka tekstifailide e-posti aadressid. Järgmine näide teeb seda regulaaravaldise mustri otsimisega.
grep '^ [a-zA-Z0-9] \ + @ [a-zA-Z0-9] \ + \. [a-z] \ {2, \}' testfail
Sarnaste tööde tegemiseks võite leida regulaarsed väljendid või saate need ise luua, kui teate, kuidas need toimivad.
9. Telefoninumbrite leidmine Grepi abil
Tekstifailist telefoninumbrite filtreerimiseks võite kasutada regulaaravaldisi grep. Pange tähele, et peate mustri kohandama, et see vastaks vajaliku telefoninumbri tüübile.
grep '\ (([0-9] \ {3 \}) \ | [0-9] \ {3 \} \) [-] \? [0-9] \ {3 \} [-] \? [0-9] \ {4 \} 'testfail
Eelnimetatud käsk filtreerib kümnekohalised Ameerika telefoninumbrid.
10. URL-ide otsimine lähtefailidest
Tekstifailides leiduvate URL-ide loetlemiseks saame kasutada grepi jõudu. Allpool antud käsk prindib kõik selles olevad URL-id test-fail.
grep -E "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4}) "test-fail
Kasutame jälle -E laiendatud regulaaravaldiste variant. Võite kasutada ka egrep selle lisamise vältimiseks.
egrep "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4})" test -fail
Linuxi Grepi käsu valdamine
Oleme reaalse maailma probleemide lahendamiseks esitanud mitmeid kasulikke näiteid Linuxi grep-käskudest. Ehkki need näited illustreerivad grepi võimet tekstitöötluses, peate regulaaravaldised valdama, kui soovite grepiga ülitootlik olla.
Mõnikord satuvad Linuxi kasutajad teatud olukordadesse, kus nad ei mäleta käsklusega seotud erinevaid võimalusi. Loodetavasti pakub Linuxi operatsioonisüsteem teile viise, kuidas saada käsurea abi peaaegu iga süsteemi utiliidi jaoks.
Kõik Linuxi käskude käsurealt õppimiseks vajalikud käsud
Loe edasi
- Linux
- Linux
- Linuxi käsud
Rubaiat on CS grad, millel on suur kirg avatud lähtekoodiga. Lisaks Unixi veteranile tegeleb ta ka võrgu turvalisuse, krüptograafia ja funktsionaalse programmeerimisega. Ta on kirglik kasutatud raamatute koguja ja tunneb klassikalise roki üle lõputut imetlust.
Telli meie uudiskiri
Liituge meie uudiskirjaga, kus leiate tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!
Veel üks samm !!!
Palun kinnitage oma e-posti aadress meilis, mille me just saatsime.