Autorius Rubaiatas Hossainas
El

Grep komanda naudojama eilutėms ieškoti tekstiniame faile. Čia yra dešimt „grep“ pavyzdžių, kurie jums gali būti naudingi.

„Grep“ komanda suteikia prieigą prie „grep“ įrankio, galingo failų apdorojimo įrankio, naudojamo teksto failų šablonams rasti. Jis turi daug praktinio naudojimo atvejų ir, be abejo, yra viena iš dažniausiai naudojamų „Linux“ komandų. Šis vadovas iliustruoja keletą paprastų, tačiau naudingų „Linux“ grep komandų, kurias naudoja realiame pasaulyje.

Demonstracinio failo pavyzdys

Mes sukūrėme informacinį failą, kuris padės skaitytojams efektyviau suprasti grep. Galite sukurti šio failo kopiją, savo terminale išleidę šią apvalkalo komandą.

katė <> bandomoji byla
Tai paprastas tekstinis failas, kuriame yra
kelios eilutės, taip pat kai kurie telefono numeriai
(555) 555-1234 (567) 666-2345
ir el. paštas bei interneto adresai
[email protected]
https://google.com
ftp://mywebserver.com
PABAIGA

1. Raskite tekstą failuose

instagram viewer

Norėdami ieškoti teksto šablono faile, tiesiog paleiskite „grep“, po kurio eina šablono pavadinimas. Taip pat nurodykite failo, kuriame yra tekstas, pavadinimą.

grep "elektroninio pašto" bandymo failą

Ši komanda parodys eilutę mūsų bandomoji byla kuriame yra žodis paštu. Taip pat galite ieškoti to paties teksto keliuose failuose naudodami grep.

grep "pavyzdys" / usr / share / dict / american-english / usr / share / dict / british-english

Pirmiau pateiktoje komandoje rodomi visi žodžio egzemplioriai pavyzdys viduje konors amerikiečių-anglų ir britų-anglų žodyno failai.

2. Raskite tikslius atitikties žodžius

Ankstesniame pavyzdyje iliustruotoje „Linux grep“ komandoje taip pat pateikiamos eilutės su dalinėmis atitiktimis. Naudokite žemiau pateiktą komandą, jei jums reikalingi tik tikslūs žodžio atvejai.

grep -w "string" bandymo failas

-w arba - žodis-regexp parinktis grep apriboja išvestį tik tikslioms atitiktims. „Grep“ sudaro kelios papildomos žymos, kurias taip pat galima naudoti su numatytąja komanda.

Susijęs: Kaip Grepas gavo savo vardą? Grepo kūrybos istorija

3. Nepaisykite atvejų skirtumų

Pagal numatytuosius nustatymus „grep“ ieško rašmenų didžiosiomis ir mažosiomis raidėmis. Tačiau galbūt norėsite tai išjungti, jei nežinote, kokiu atveju modelis yra iš anksto.

grep -i "tai" bandomoji byla

Naudoti -i arba --ignore-case didžiųjų ir mažųjų raidžių išjungimo parinktis.

4. Suskaičiuokite modelių skaičių

-c vėliava reiškia suskaičiuoti. Tai rodo atitikčių, rastų pagal tam tikrą modelį, skaičių. Administratoriai gali tai naudoti, norėdami gauti konkrečią informaciją apie sistemą.

Galite vamzdžiu ps komanda su grep skaičiuoti procesus, kurie priklauso dabartiniam vartotojui.

ps -ef | grep -c $ VARTOTOJAS

Ši komanda parodo skaičių MP3 failai, esantys kataloge.

ls ~ / muzika | grep -c .mp3

5. Rodyti eilučių numerius, kuriuose yra atitikmenų

Galbūt norėsite rasti eilučių numerius, kuriuose yra tam tikra atitiktis. Naudoti -n arba --eilės numeris „grep“ galimybė tai pasiekti.

katė / etc / passwd | grep -n rubaiat

Ši parinktis yra ypač naudinga derinti šaltinio kodus ir trikčių diagnostikos žurnalo failus. Norėdami rodyti visus eilučių skaičius ~ / .vimrc kurie naudojami konfigūruoti „Vim“ teksto rengyklę:

grep -n "rinkinys" ~ / .vimrc

6. Raskite failų pavadinimus naudodami plėtinius

Norėdami gauti visų MP3 failus, esančius ~ / Muzika katalogas:

ls ~ / muzika / | grep ".mp3"

Galite pakeisti .mp3 su bet kokiais kitais plėtiniais, skirtais rasti konkrečius failus. Ši komanda nurodo visus php failai, esantys dabartiniame darbo kataloge.

ls | grep ".php"

7. Suraskite šablonus suglaudintuose failuose

„Linux grep“ komanda taip pat gali rasti modelius suspaustuose failuose. Jums reikės naudoti zgrep komandą tai padaryti. Pirmiausia sukurkite suspaustą mūsų archyvą bandomoji byla įvesdami:

„gzip“ bandomoji byla

Dabar galite ieškoti teksto ar kitų raštų gautame archyve.

zgrep el. pašto test-file.gz

8. Raskite el. Pašto adresus

Administratoriai taip pat gali išvardyti el. Pašto adresus iš tekstinių failų naudodami komandą „Linux grep“. Šis pavyzdys tai daro ieškodamas taisyklingos išraiškos šablono.

grep '^ [a-zA-Z0-9] \ + @ [a-zA-Z0-9] \ + \. [a-z] \ {2, \}' bandomasis failas

Galite rasti reguliarius posakius dirbdami panašius darbus arba galite juos susikurti patys, jei žinote, kaip jie veikia.

9. Raskite telefono numerius naudodami „Grep“

Norėdami filtruoti telefono numerius iš teksto failo, galite naudoti reguliarius „Grep“ posakius. Atminkite, kad turėtumėte patobulinti modelį, kad jis atitiktų jums reikalingų telefono numerių tipą.

grep '\ (([0-9] \ {3 \}) \ | [0-9] \ {3 \} \) [-] \? [0-9] \ {3 \} [-] \? [0-9] \ {4 \} bandomoji byla

Minėta komanda filtruoja dešimties skaitmenų amerikiečių telefono numerius.

10. Raskite URL iš šaltinio failų

Mes galime panaudoti „grep“ galią išvardydami teksto rinkmenose esančius URL. Žemiau pateikta komanda išspausdina visus URL, esančius bandomoji byla.

grep -E "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4}) "bandomoji byla

Mes vėl naudojame -E išplėstinių reguliarių posakių parinktis. Taip pat galite naudoti egrep komandą, kad būtų išvengta to pridėti.

egrep "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4})" testas -failas

„Linux Grep“ komandos įsisavinimas

Pateikėme keletą naudingų „Linux grep“ komandos pavyzdžių, kaip išspręsti realaus pasaulio problemas. Nors šie pavyzdžiai iliustruoja „grep“ galią teksto apdorojimui, turėsite įvaldyti reguliarius posakius, jei norite, kad grep būtų itin produktyvus.

Kartais „Linux“ vartotojai susiduria su tam tikromis situacijomis, kai negali prisiminti įvairių su komanda susijusių variantų. Tikimės, kad „Linux“ operacinė sistema suteikia būdų, kaip gauti komandinės eilutės pagalbą beveik kiekvienam sistemos įrankiui.

El
7 būdai, kaip gauti komandinės eilutės pagalbą sistemoje „Linux“

Visos svarbiausios komandos, skirtos sužinoti apie „Linux“ komandas iš komandinės eilutės

Skaitykite toliau

Susijusios temos
  • „Linux“
  • „Linux“
  • „Linux“ komandos
Apie autorių
Rubaiatas Hossainas (Paskelbta 15 straipsnių)

„Rubaiat“ yra CS laipsnio laipsnis, turintis didelę aistrą atviriems kodams. Be to, kad yra „Unix“ veteranas, jis taip pat užsiima tinklo saugumu, kriptografija ir funkciniu programavimu. Jis yra aistringas dėvėtų knygų kolekcionierius ir nesibaigiantis susižavėjimas klasikiniu roku.

Daugiau iš „Rubaiat Hossain“

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kuriame rasite techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Dar vienas žingsnis…!

Prašome patvirtinti savo el. Pašto adresą el. Laiške, kurį jums ką tik išsiuntėme.

.