perkenalan
The Linux Ubuntu paréntah grep dipaké salaku padika keur nyaring input.
GREP nangtung pikeun Global Babasan printer Biasa sahingga dina urutan ngagunakeun eta éféktif, Anjeun kudu gaduh sababaraha pangaweruh ngeunaan ungkapan biasa.
Dina artikel ieu, Kuring keur bade ningalikeun maneh sababaraha conto nu bakal nulungan anjeun ngartos paréntah grep.
01 of 09
Kumaha Ka Milarian Pikeun A string Dina Hiji File Maké GREP
Ngabayangkeun anjeun gaduh file téks disebutna buku kalawan judul buku barudak di handap urang:
- Robin Hood
- Budak awéwé leutik make kurudung beureum
- Peter Pan
- Goldilocks Sareng Karakter Tilu ngasuh
- Salju Bodas Sareng Karakter Tujuh Dwarfs
- Pinnochio
- The Cat Dina Hat nu
- The Three Babi Little
- The Gruffalo
- Charlie Sareng Karakter Coklat Factory
Pikeun manggihan sakabeh buku jeung kecap "The" dina judulna anjeun bakal nganggo rumpaka handap:
grep The buku
Hasil di handap bakal balik:
- Goldilocks Sareng Karakter Tilu ngasuh
- Salju Bodas Sareng Karakter Tujuh Dwarfs
- The Cat Dina Hat nu
- The Three Babi Little
- The Gruffalo
- Charlie Sareng Karakter Coklat Factory
Dina unggal hal, kecap "The" bakal disorot.
Catet yén pilarian nyaeta hal sénsitip kitu lamun salah sahiji judul tadi "teh" tinimbang "The" mangka bakal moal geus balik.
Pikeun malire hal Anjeun bisa nambahkeun switch handap:
grep buku --ignore-hal
Anjeun oge tiasa make switch -i saperti kieu:
grep -i buku
02 of 09
Milarian Pikeun A string Dina Hiji File Maké Wildcards
Paréntah grep pisan kuat. Anjeun tiasa make rupa-rupa téhnik cocog pola pikeun nyaring hasilna.
Dina conto ieu, kuring baris némbongkeun Anjeun cara milari hiji senar di file nganggo wildcards .
Ngabayangkeun anjeun gaduh file disebut tempat jeung handap ngaran tempat Skotlandia:
Aberdeen
aberystwyth
aberlour
inverurie
Inverness
Newburgh
kijang anyar
galloway anyar
Glasgow
Edinburgh
Lamun hayang manggihan sakabeh tempat ku inver dina ngaran nganggo rumpaka di handap ieu:
grep inver * tempat
The bintang (*) bonus nangtung pikeun 0 atawa loba. Kituna lamun boga lelewek inver atanapi lelewek Inverness lajeng duanana bakal jadi balik.
bonus sejen bisa ngagunakeun anu periode (.). Anjeun tiasa make ieu cocog surat tunggal.
grep inver.r tempat
Paréntah luhur bakal manggihan tempat anu disebut inverurie na inverary tapi moal bakal manggihan invereerie lantaran aya ukur tiasa salah bonus antara dua r urang salaku dilambangkeun ku jaman tunggal.
Mangsa bonus dipake tapi bisa ngabalukarkeun masalah lamun boga salah salaku bagian tina téks anjeun néangan.
Contona kasampak di daptar ieu ngaran domain
- linux.about.com
- pcsupport.about.com
- mp3.about.com
- minecraft.about.com
- androidgames.about.com
- netforbeginners.about.com
- everydaylinuxuser.com
- google.co.uk
- google.au
- direct.gov.uk
Pikeun manggihan sagala about.coms Anjeun ngan bisa neangan ngagunakeun rumpaka di handap ieu:
grep * ngeunaan domainnames *
Paréntah luhur bakal tumiba ka handap mun daftar ngandung nami di handap di dinya:
- everydaylinuxuser.com/about.html
Anjeun bisa, ku kituna, coba éta rumpaka di handap ieu:
grep * about.com domainnames
Ieu bakal dianggo ok iwal aya domain kalawan nami di handap:
aboutycom.com
Bener milarian about.com istilah Anjeun bakal kedah kabur titik éta saperti kieu:
grep * ngeunaan \ .com domainnames
The bonus final pikeun némbongkeun Anjeun teh tanda tanya nu nangtung pikeun karakter enol atawa salah.
Salaku conto:
grep? placenames BER
Paréntah luhur bakal balik Aberdeen, aberystwyth atawa malah berwick.
03 of 09
Pilarian Pikeun Senar di awal jeung ahir Jalur Maké grep
The karat (^) jeung dollar ($) simbol ngidinan Anjeun pikeun milari pola di awal jeung akhir tina garis.
Ngabayangkeun anjeun gaduh file disebut football jeung ngaran tim handap:
- Blackpool
- Liverpool
- Manchester Kota
- Leicester Kota
- Manchester United
- Newcastle Serikat
- FC Serikat Of Manchester
Lamun hayang manggihan sakabeh tim anu dimimitian ku Manchester anjeun bakal nganggo rumpaka handap:
grep ^ Manchester tim
Paréntah luhur bakal balik Manchester Kota tur Manchester United tapi teu FC Serikat Of Manchester.
Alternatipna anjeun tiasa manggihan sakabeh tim tungtung Serikat ngagunakeun rumpaka di handap ieu:
grep Serikat $ tim
Paréntah luhur bakal balik Manchester United na Newcastle Serikat tapi teu FC Serikat Of Manchester.
04 of 09
Cacah Jumlah Kecap nu cocog Maké grep
Mun anjeun teu hoyong balik ka garis nu sabenerna nu cocog pola hiji maké grep tapi anjeun ngan hayang nyaho sabaraha aya anjeun tiasa nganggo rumpaka di handap ieu:
grep -c inputfile pola
Lamun pola ieu loyog dua kali teras jumlah 2 bakal dipulangkeun.
05 of 09
Pananjung Sadaya The Sarat Éta Ulah Cocogkeun maké grep
Ngabayangkeun anjeun gaduh daptar ngaran tempat jeung nagara didaptarkeun saperti kieu:
- Aberdeen Skotlandia
- Glasgow Skotlandia
- Liverpool Inggris
- colwyn bay
- bogor Inggris
Anjeun bisa geus noticed nu colwyn bay boga nagara pakait sareng eta.
Pikeun neangan sagala tempat kalawan nagara anjeun bisa nganggo rumpaka di handap ieu:
grep tempat darat $
Hasilna mulih bakal jadi sakabeh tempat iwal colwyn bay.
Ieu écés ukur lumaku pikeun tempat nu mungkas di darat (boro ilmiah).
Anjeun tiasa invert pilih ngagunakeun rumpaka di handap ieu:
grep -V darat $ tempat
Ieu bakal manggihan sakabeh tempat nu teu ditungtungan ku taneuh.
06 of 09
Kumaha Ka Teangan Galur kosong Dina Payil Maké grep
Ngabayangkeun anjeun gaduh hiji file input nu dipaké ku aplikasi pihak katilu mana eureun maca file lamun manggih hiji garis kosong saperti kieu:
- Aberdeen Skotlandia
- Inverness Skotlandia
- Liverpool Inggris
- wales bay colwyn
Lamun aplikasi nu meunang jalur sanggeus Liverpool éta bakal eureun maca hartina colwyn bay ieu lasut sagemblengna.
Anjeun tiasa make grep neangan garis kosong jeung rumpaka di handap ieu:
grep ^ $ tempat
Hanjakal ieu teu sabagian dipake sabab ngan mulih ka garis kosong.
Anjeun bisa tangtu meunangkeun count tina Jumlah garis kosong salaku dipariksa ningali lamun file nyaeta valid saperti kieu:
grep -c ^ $ tempat
kumaha oge bakal langkung mangpaat apal kana angka garis nu boga garis kosong ku kituna anjeun bisa ngaganti aranjeunna. Anjeun tiasa ngalakukeun éta kalayan paréntah di handap:
grep -n ^ $ tempat
07 of 09
Kumaha Ka Milarian Pikeun Senar Of Uppercase Atawa aksara leutik Karakter Maké grep
Ngagunakeun grep anjeun bisa nangtukeun mana garis dina file anu boga karakter uppercase ngagunakeun rumpaka di handap ieu:
grep '[AZ]' Ngaran koropak
Kurung pasagi [] hayu anjeun nangtukeun rentang ti karakter. Dina conto di luhur eta cocog sagala karakter nu antara A jeung Z.
Kituna mun cocog karakter aksara leutik Anjeun tiasa make rumpaka di handap ieu:
grep '[AZ]' Ngaran koropak
Mun rék cocog hijina hurup teu numerics atanapi simbol lianna Anjeun tiasa make rumpaka di handap ieu:
grep '[a-za-Z]' Ngaran koropak
Anjeun tiasa ngalakukeun sami kalawan nomer saperti kieu:
grep '[0-9]' Ngaran koropak
08 of 09
Pilari Pikeun Repeating Pola Maké grep
Anjeun tiasa make kurung Curly {} néang pola repeating.
Ngabayangkeun anjeun gaduh file kalawan nomer telepon saperti kieu:
- 055-1234
- 055-4567
- 555-1545
- 444-0167
- 444-0854
- 4549-2234
- x44-1234
Anjeun terang ka bagian mimiti jumlahna perlu jadi tilu digit jeung rék manggihan jalur anu teu cocog pola ieu.
Ti conto saméméhna anjeun terang yen [0-9] mulih sadayana angka dina file anu.
Dina conto ieu kami hoyong garis nu mimitian ku tilu nomer dituturkeun ku hyphen (-). Anjeun tiasa ngalakukeun nu ku rumpaka di handap ieu:
grep "^ [0-9] [0-9] [0-9] -" angka
Salaku urang terang tina conto saméméhna dina karat (^) ngandung harti yén jalur kudu dimimitian ku pola handap.
The [0-9] baris milari angka sagala antara 0 jeung 9. Salaku ieu kaasup tilu kali eta cocog 3 angka. Tungtungna aya nu hyphen mun denote yén hyphen a kudu sukses tilu angka.
Ku ngagunakeun kurung Curly anjeun tiasa ngadamel pilarian leuwih leutik saperti kieu:
grep "^ [0-9] \ {3 \} -" angka
slash The escapes nu {bracket meh jalan salaku bagian tina éksprési nu biasa tapi panggih naon ieu nyebutkeun nyaéta [0-9] {3} anu hartosna angka sagala antara 0 jeung 9 tilu kali.
Kurung Curly ogé bisa dipaké saperti kieu:
{5,10}
{5,}
The {5,10} hartina karakter nu keur searched pikeun kudu terus-terusan sahenteuna 5 kali tapi henteu leuwih ti 10 sedengkeun nu {5,} hartina karakter teh kudu terus-terusan sahenteuna 5 kali tapi tiasa langkung ti eta.
09 of 09
Ngagunakeun The Kaluaran Ti Paréntah lianna maké grep
Kituna tebih kami geus melong cocog pola dina file individu tapi grep tiasa nganggo kaluaran ti Paréntah lianna salaku input pikeun cocog pola.
Hiji conto agung ieu maké paréntah ps nu mangrupa daptar prosés aktif.
Contona ngajalankeun paréntah di handap:
ps -ef
Sakabéh prosés ngajalankeun on sistem Anjeun bakal dipintonkeun.
Anjeun tiasa make grep néang prosés jalan tinangtu saperti kieu:
ps -ef | grep Firefox