„Linux“ reguliariojo posakio pamoka: „Grep Regex“ pavyzdys

Kas yra „Linux“ įprasti posakiai?

„Linux Regular Expressions“ yra specialieji simboliai, kurie padeda ieškoti duomenų ir suderinti sudėtingus modelius. Reguliarūs posakiai sutrumpinami kaip „regexp“ arba „regex“. Jie naudojami daugelyje „Linux“ programų, tokių kaip „grep“, „bash“, pervardyti, „sed“ ir kt.

Reguliariųjų posakių tipai

Kad būtų lengviau suprasti, išmoksime skirtingus „Regex“ tipus po vieną.

  • Pagrindiniai reguliarūs posakiai
  • Intervalas Reguliarūs posakiai
  • Išplėstiniai reguliarūs posakiai
  • Santrauka

Spustelėkite čia, jei vaizdo įrašas nepasiekiamas

Pagrindiniai reguliarūs posakiai

Kai kurios įprastos išraiškos dažniausiai naudojamos komandos yra tr, sed, vi ir grep. Žemiau yra keletas pagrindinių „Regex“.

Simbolis Aprašymai
. pakeičia bet kurį simbolį
rungtynių eilutės pradžia
$ atitinka eilutės pabaigą
* atitinka nulį ar daugiau kartų, palyginti su ankstesniu simboliu
\ Atstovauti specialiuosius simbolius
() Grupuoja įprastus posakius
? Atitinka tiksliai vieną simbolį

Pažiūrėkime pavyzdį.

Vykdykite katės pavyzdį, kad pamatytumėte esamo failo turinį

Ieškokite turinio, kuriame yra raidė „a“.

' ^ ' atitinka eilutės pradžią. Ieškokime turinio, prasidedančio a

Filtruojamos tik eilutės, prasidedančios simboliu. Linijos, kurių pradžioje nėra simbolio „a“, nepaisomos.

Panagrinėkime kitą pavyzdį -

Naudodami $ pažymėkite tik tas eilutes, kurios baigiasi t

Intervalas Reguliarūs posakiai

Šie posakiai nurodo apie eilutės simbolio pasikartojimų skaičių. Jie yra

Išraiška apibūdinimas
{n}

Tiksliai sutampa su ankstesniu simboliu, rodomu „n“ kartus

{n, m} Atitinka ankstesnį simbolį, rodomą „n“ kartus, bet ne daugiau kaip m
{n,} Atitinka ankstesnį simbolį tik tada, kai jis rodomas „n“ ar daugiau kartų

Pavyzdys:

Filtruokite visas eilutes, kuriose yra simbolis „p“

Norime patikrinti, ar simbolis „p“ eilutėje pasirodo lygiai 2 kartus. Tam sintaksė būtų:

cat sample | grep -E p\{2}

Pastaba: su šiais reguliariaisiais posakiais turite pridėti -E.

Išplėstiniai reguliarūs posakiai

Šiuose įprastuose posakiuose yra daugiau nei vienos išraiškos deriniai. Kai kurie iš jų yra:

Išraiška apibūdinimas

\ +

Atitinka vieną ar kelis ankstesnio simbolio atvejus

\?

Atitinka nulį arba vieną ankstesnio simbolio atvejį

Pavyzdys:

Ieškoma visų simbolių „t“

Tarkime, kad mes norime filtruoti eilutes, kuriose simbolis „a“ yra prieš simbolį „t“

Mes galime naudoti komandą kaip

cat sample|grep "a\+t"

Breketų plėtimas

Petnešos išplėtimo sintaksė yra seka arba kableliais atskirtas elementų, esančių garbanotose petnešose, „{}“ sąrašas. Pradžios ir pabaigos eilės elementai yra atskirti dviem taškais „…“.

Keletas pavyzdžių:

Ankstesniuose pavyzdžiuose komanda echo sukuria eilutes naudodama petnešų išplėtimą.

Santrauka:

  • Reguliarūs posakiai yra simbolių rinkinys, naudojamas tikrinant eilutes
  • Jie taip pat vadinami „regexp“ ir „regex“
  • Svarbu išmokti reguliarias scenarijų rašymo išraiškas
  • Kai kurie pagrindiniai reguliarūs posakiai yra šie:
Simbolis Aprašymai
. pakeičia bet kurį simbolį
rungtynių eilutės pradžia
$ atitinka eilutės pabaigą
  • Kai kurie išplėstiniai reguliarūs posakiai yra šie:
Išraiška apibūdinimas
\ + Atitinka vieną ar kelis ankstesnio simbolio atvejus
\? Atitinka nulį arba vieną ankstesnio simbolio atvejį
  • Kai kurios intervalinės reguliariosios išraiškos yra:
Išraiška apibūdinimas
{n} Tiksliai sutampa su ankstesniu simboliu, rodomu „n“ kartus
{n, m} Atitinka ankstesnį simbolį, rodomą „n“ kartus, bet ne daugiau kaip m
{n,} Atitinka ankstesnį simbolį tik tada, kai jis rodomas „n“ ar daugiau kartų
  • Petnešų plėtimas naudojamas stygų generavimui. Tai padeda sukurti kelias eilutes iš vienos.

Įdomios straipsniai...