Ahoj

Ako používať Regex s príkazom 'awk'

Ako používať Regex s príkazom 'awk'

Regulárny výraz (regulárny výraz) sa používa na nájdenie danej postupnosti znakov v súbore. Na definovanie vzoru možno použiť symboly, ako sú písmená, číslice a špeciálne znaky. Rôzne úlohy je možné ľahko dokončiť pomocou regulárnych výrazov. V tomto tutoriáli vám ukážeme, ako používať vzory regulárneho výrazu pomocou príkazu 'awk'.

Základné znaky použité vo vzorkách

Na definovanie vzoru regulárneho výrazu je možné použiť veľa znakov. Znaky najčastejšie používané na definovanie vzorov regulárneho výrazu sú definované nižšie.

Postava Popis
. Priraďte ľubovoľný znak bez nového riadku (\ n)
\ Uveďte nový metaznak
^ Porovnajte začiatok riadku
$ Zarovnajte koniec riadku
| Definujte náhradníka
() Definujte skupinu
[] Definujte triedu znakov
\ w Priraďte ľubovoľné slovo
\ s Priraďte ľubovoľný znak medzier
\ d Priraďte ľubovoľnú číslicu
\ b Priraďte ľubovoľnú hranicu slova

Vytvorte súbor

Ak chcete pokračovať v tejto príručke, vytvorte textový súbor s názvom Produkty.TXT. Súbor by mal obsahovať štyri polia: ID, Meno, Typ a Cena.

ID Názov Typ Cena

p1001 15 "Monitor Monitor 100 dolárov

p1002 A4tech Mouse Myš 10 dolárov

p1003 Samsung Printer Printer 50 dolárov

p1004 Skener HP Skener 60 dolárov

myš p1005 Logitech Mouse myš 15 dolárov

Príklad 1: Definujte vzor regulárneho výrazu pomocou triedy znakov

Nasledujúci príkaz „awk“ vyhľadá a vytlačí riadky obsahujúce znak „n“, za ktorým nasledujú znaky „er“.

$ mačacie výrobky.TXT
$ awk '/ [n] [er] / print $ 0' produkty.TXT

Po vykonaní vyššie uvedených príkazov sa vytvorí nasledujúci výstup. Na výstupe je riadok, ktorý zodpovedá vzoru. Tu sa vzoru zhoduje iba jeden riadok.

Príklad 2: Definujte vzor regulárneho výrazu pomocou symbolu „^“

Nasledujúci príkaz „awk“ vyhľadá a vytlačí riadky, ktoré začínajú znakom „p“ a zahŕňajú číslo 3.

$ mačacie výrobky.TXT
$ awk '/ ^ s.* 3 / print $ 0 'produkty.TXT

Po vykonaní vyššie uvedených príkazov sa vytvorí nasledujúci výstup. Tu existuje jeden riadok, ktorý zodpovedá vzoru.

Príklad 3: Definujte vzor regulárneho výrazu pomocou funkcie gsub

The gsub () Táto funkcia sa používa na globálne vyhľadanie a nahradenie textu. Nasledujúci príkaz „awk“ vyhľadá pred tlačou slovo „Scanner“ a nahradí ho slovom „Router“.

$ mačacie výrobky.TXT
$ awk 'gsub (/ Scanner /, "Router")' produkty.TXT

Po vykonaní vyššie uvedených príkazov sa vytvorí nasledujúci výstup. Existuje jeden riadok, ktorý obsahuje slovo „Skener„a“Skener„sa nahrádza slovom„Router„pred vytlačením riadku.

Príklad 4: Definujte vzor regulárneho výrazu pomocou znaku „*“

Nasledujúci príkaz „awk“ vyhľadá a vytlačí ľubovoľný reťazec, ktorý začína reťazcom „Mo“, a obsahuje akýkoľvek nasledujúci znak.

$ mačacie výrobky.TXT
Produkty $ awk '/ Mo * / print $ 0'.TXT

Po vykonaní vyššie uvedených príkazov sa vytvorí nasledujúci výstup. Tri riadky zodpovedajú vzoru: dva riadky obsahujú slovo „Myš„a jeden riadok obsahuje slovo“Monitor„.

Príklad 5: Definujte vzor regulárneho výrazu pomocou symbolu „$“

Nasledujúci príkaz „awk“ vyhľadá a vytlačí riadky v súbore, ktorý končí číslom 5.

$ mačacie výrobky.TXT
$ awk '/ 5 $ / print $ 0' produkty.TXT

Po vykonaní vyššie uvedených príkazov sa vytvorí nasledujúci výstup.  V súbore je iba jeden riadok, ktorý končí číslom 5.

Príklad 6: Definujte vzor regulárneho výrazu pomocou znakov '^' a '|' symboly

^„symbol označuje začiatok riadku a“|Symbol 'označuje logický príkaz OR. Nasledujúci príkaz „awk“ vyhľadá a vytlačí riadky, ktoré začínajú znakom “p„a obsahovať buď“Skener„alebo“Myš„.

$ mačacie výrobky.TXT
$ awk '/ ^ s.* (Skener | Myš) / 'produkty.TXT

Po vykonaní vyššie uvedených príkazov sa vytvorí nasledujúci výstup. Výstup ukazuje, že dva riadky obsahujú slovo 'Myš„a jeden riadok obsahuje slovo“Skener„. Tri riadky začínajú znakom „p„.

Príklad 7: Definujte vzor regulárneho výrazu pomocou symbolu „+“

+„operátor slúži na nájdenie aspoň jednej zhody. Nasledujúci príkaz „awk“ vyhľadá a vytlačí riadky, ktoré obsahujú znak 'n' aspoň raz.

$ mačacie výrobky.TXT
$ awk '/ n + / print' produkty.TXT

Po vykonaní vyššie uvedených príkazov sa vytvorí nasledujúci výstup. Tu postavan„obsahuje sa vyskytuje najmenej raz v riadkoch, ktoré obsahujú slová Monitor, tlačiareň a skener.

Príklad 8: Definujte vzor regulárneho výrazu pomocou funkcie gsub ()

Nasledujúci príkaz „awk“ globálne vyhľadá slovo „Tlačiareň„a nahradiť ho slovom“Monitor'pomocou funkcia gsub ().

$ mačacie výrobky.TXT
$ awk 'gsub (/ Printer /, “Monitor”) print $ 0' produkty.TXT

Po vykonaní vyššie uvedených príkazov sa vytvorí nasledujúci výstup. Štvrtý riadok súboru obsahuje slovo „Tlačiareň„dvakrát a na výstupe“Tlačiareň„bolo nahradené slovom“Monitor„.

Záver

Mnoho symbolov a funkcií možno použiť na definovanie vzorov regulárneho výrazu pre rôzne úlohy hľadania a nahradenia. Niektoré symboly bežne používané vo vzoroch regulárneho výrazu sú v tomto výučbe použité pomocou príkazu 'awk'.

Hry Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Úvod do hry Civilization 6 predstavuje moderné poňatie klasického konceptu predstaveného v sérii hier Age of Empires. Myšlienka bola dosť jednoduchá; ...
Hry Ako inštalovať a hrať Doom na Linuxe
Ako inštalovať a hrať Doom na Linuxe
Úvod do Doom Séria Doom vznikla v 90. rokoch po vydaní pôvodného Doomu. Bol to okamžitý hit a od tej doby herná séria získala množstvo ocenení a origi...
Hry Vulkan pre používateľov systému Linux
Vulkan pre používateľov systému Linux
S každou novou generáciou grafických kariet vidíme, že vývojári hier posúvajú hranice grafickej vernosti a prichádzajú o krok bližšie k fotorealizmu. ...