Naučite se Linuxa

Ukaz Linux awk z 10 primeri

Ukaz Linux awk z 10 primeri

Računalniški sistemi se že od nekdaj uporabljajo za analizo dragocenih podatkov, shranjenih v preprostih besedilnih datotekah. Po drugi strani se sami računalniški sistemi upravljajo prek dnevniških datotek. V teh dveh situacijah je potencialno pogosto, da vsebujeta veliko podatkov, ki jih je pogosto treba poenostaviti, preden jih dejansko prebereš; v nasprotnem primeru je samo zmedeno.

Če na primer berete nekatere podatke, razporejene v obliki tabele, želite nekaj stolpcev, drugih pa ne.

Ta zahteva je bila zelo zahtevna že v preteklosti, zato ima projekt GNU neverjetno orodje, ki uporabnikom pomaga filtrirati in pridobivati ​​podatke za boljšo izkušnjo. To orodje je AWK.

Zgodovina

AWK je pravzaprav programski jezik, ki je namenjen obdelavi besedil. Uporablja se za pridobivanje podatkov v določenih vzorcih. V sedemdesetih letih so ga razvili laboratoriji Bell Labs, Alfred Aho, Peter Weinberger in Brian Kernighan (imena njihovih priimkov so rodila ime). Razvoj awka se pri tem ni ustavil. Leta 1985 je bila predstavljena nova različica, ki je prinesla nove spremembe ukaza awk, vključno z zmožnostjo obdelave več vhodnih tokov, izračunanih regularnih izrazov, uporabniško določenih funkcij in še veliko več! Skratka, posodobitev je postala zmogljivejši programski jezik.

Awk ima drugačno izvedbo. Paul Rubin je leta 1986 napisal gawk, da bi zagotovil pravilno izvedbo, ki ponuja standardni pristop. Dobro se je obneslo z novejšim awkom.

Poleg tega so bile leta 1989 dodane nove funkcije System V Release. Razvijalci so izboljšali tudi njegove temne vogale, zato so ga programerji in uporabniki bolje uporabljali. Zadnja sprememba se je zgodila leta 1997, ko je awk videl dostop do omrežja - uporabnikom je omogočil oddaljeno reševanje težav.

Najnovejša predelava, narejena leta 2011, ko je John Haque prepisal notranje elemente gawka.

Stvari, ki jih lahko počnete z AWK

Do zdaj bi moralo biti že nekoliko jasno, česa je sposoben AWK. Je skriptni jezik za splošno uporabo, ki vam omogoča obdelavo besedila. Napredni uporabniki ga lahko uporabljajo tudi za analizo in poročanje.

AWK ni podoben drugim programskim jezikom, saj temelji na podatkih, ne pa kot proceduralni programski jezik. To pomeni, da ga lahko učinkovito uporabljate za izvajanje dejanj proti vnosu besedila. Skratka, z njim lahko pretvorite podatke, jih vnesete in tudi pošljete kot standardni izhod.

Skratka, z AWK lahko izvajate preproste operacije, kot je razdelitev vsake vhodne vrstice na polja, skeniranje datoteke po vrsticah, izvajanje dejanj na vrsticah ujemanja itd! Ukaz awk je uporaben tudi za poročila, formatirana s postopki, in pretvori podatkovne datoteke. Poleg tega dobite tudi dostop do programskih konstruktov, kot so pogojne & zanke, niz & aritmetične operacije in izhodne vrstice formatiranja.

Kako deluje awk

V tem poglavju bomo izvedeli, kako deluje awk. Pomembno je izvedeti, da ima awk različne izvedbe. Da bi zagotovili, da smo na isti strani, bomo razpravljali in uporabili izvajanje GNU - ki je v javnosti znano kot gawk. V večini primerov je gawk simbolično povezan s tolmačem awk.

Da bi dobro razumeli, moramo najprej razumeti evidence in polja.

Dobro je znano, da lahko awk obdeluje besedilne tokove in podatkovne datoteke. Za obdelavo podatkov je vhod razdeljen na polja in zapise. Da zagotovimo, da awk ne bo preobremenjen, se en zapis obdeluje kadar koli, dokler ni dosežen konec vnosa. Poleg tega so zapisi nadalje razdeljeni na preproste odseke z uporabo ločila zapisov z znaki. Prav tako je vsak zapis ločen z znaki za novo vrstico. To pomeni, da lahko vsako vrstico označimo kot zapis.

S spremenljivko RS lahko nastavite novo ločilo zapisov.

Nato pride ločevalnik datotek. Kot običajno ima vsak zapis polja, ločena pa so z ločevalnikom polj. Ločilo polja je lahko presledek, zavihki, znaki nove vrstice in presledek. Vsako polje se sklicuje tudi s simbolom $, medtem ko se številka polja začne z 1. To pomeni, da lahko prvo polje označimo kot 1 USD, drugo polje pa kot 2 USD. Na ta način lahko n-to polje označimo kot $ nf.

Program awk

Drugi vidik programa awk je program awk. Če želite delati s programom awk, morate napisati program, ki ukazu omogoča izvajanje ali obdelavo besedila. Program awk ponuja veliko funkcionalnosti z uporabo pravil in uporabniško določenih funkcij. Pravila delujejo z akcijskim parom ali enim vzorcem, pravila pa se ločijo s podpičji ali novo vrstico.

V primeru, da se sprašujete, bo videti awk program spodaj.

vzorec dejanje vzorec dejanje… 

Skratka, program awk deluje tako, da se ujema z zapisi na podlagi vzorcev. Če je vzorec v zapisu, ga bo obdelal. V nasprotnem primeru se celoten zapis ujema, da se prepriča, ali se nekaj ujema na podlagi pravil.

primeri ukazov awk

Zdaj, ko dobro razumemo ukaz awk in kako deluje, je zdaj čas, da si ogledamo nekaj primerov ukaza awk.

Če še nikoli niste uporabljali awk, boste morda želeli vedeti, da awk lahko uporabljate s spodnjimi možnostmi:

awk programska datoteka

Možnosti, ki jih lahko uporabite s programom awk, vključujejo naslednje:

Primer 1: Preberite skripte AWK

Eden najpogostejših načinov uporabe awk je branje skript. Kot uporabnik Linuxa lahko ustvarite skript awk z uporabo enojnih narekovajev.

Če želite to narediti, morate v terminal vnesti naslednji ukaz.

$ awk 'print "Dobrodošli v Hello, World - AWK tutorial"'

V zgornjem primeru, kar vtipkate, bo vrnjeno na sam zaslon. Ukaz se bo nadaljeval, dokler ga ne končate s pritiskom na CTRL + D.

Primer 2: Uporaba več ukazov

Druga pogosta uporaba awk je uporaba več ukazov. Kot uporabnik boste morda želeli združiti dva ukaza awk v enega, da boste dobili želeni rezultat. V tem primeru bomo izpisali niz in nato drugo besedo v nizu zamenjali z novim vnosom.

$ echo "Hello World" | awk '$ 2 = "Vesolje; natisni $ 0"'

V zgornjem primeru smo na terminal najprej odzvanjali »Hello, World«. Nato smo združili še en ukaz awk, kjer smo drugo besedo zamenjali z Universe - in nato končno izpisali niz, ki je Hello Universe.

Primer 3: Uporaba spremenljivke

Spremenljivke vam omogočajo shranjevanje informacij in dostop do njih. Če ste že uporabljali programske jezike, zagotovo veste zanje. V primeru awk ga uporabljate za obdelavo besedilnih datotek. S pomočjo spremenljivk lahko dostopate do določenih podatkovnih polj v datoteki, tako kot spodaj.

V ta namen smo ustvarili novo besedilno datoteko mynewfile, kamor vnesemo nekaj naključnih, a lepih vrstic.

Nato morate zagnati ukaz, kot je prikazano spodaj.

awk 'print $ 1' mynewfile

Kot lahko vidite, iz datoteke prikaže tisto določeno spremenljivko, ki prikazuje to polje. Prav tako bi morali videti napako, ki sem jo naredil.

Primer 4: Predobdelava AWK

Z ukazom awk lahko dodate predhodno obdelavo. Če želite to narediti, morate uporabiti ključno besedo BEGIN.

Če pozorno berete, smo zgoraj ustvarili novo datoteko. Poskusimo uporabiti predhodno obdelavo awk za predstavitev vsebine datoteke.

Ukaz zanj je kot spodaj.

awk 'awk BEGIN print "Vsebina datoteke:"> print $ 0', mynewfile

Zgornji primer posnetka zaslona ni pravilen. Namesto »BEGIN« sem uporabil »Begin«, zato ne vidite, da se izjava za tiskanje izvaja. To vam prepuščam, da preizkusite in vidite, kako poteka vaš rezultat!

Primer 5: Branje skripte iz datoteke

Ta je težavna. Tu lahko s pomočjo skripta awk preberete datoteko.

Ustvarimo nov skript, ki vsebuje naslednje.

natisni $ 1 "vesolje se začne pri" $ 6 "

Datoteko smo shranili kot časopis.

Zdaj na terminalu zaženite naslednji ukaz.

$ awk -F: -f newscript / etc / passwd

Fascinantno, kajne!

Primer 6: AWK naknadna obdelava

Nato si oglejmo naknadno obdelavo AWK. Deluje podobno kot predhodna obdelava, vendar tokrat naknadna obdelava uporablja ukaz END.

$ awk 'BEGIN print "Vsebina datoteke se začne zdaj:">> print $ 0>> END print "Datoteka se konča"' mynewfile

Primer 7: Uporabniško določene spremenljivke

Spremenljivke lahko uporabite tudi v ukazu awk, ne da bi uporabili številko ali znak za dolar.

Spodaj je primer.

$ awk 'BEGIN test = "Dobrodošli v FossLinux Awesome Linux Family" test preskusa'

Primer 8: Vgrajene funkcije

Ukazi awk pridejo prav tako z njihovimi vgrajenimi funkcijami. Uporabite lahko na primer matematične funkcije in funkcije String.

$ awk 'BEGIN x - "fossLinux"; tiskalnik (x) '
$ awk 'ZAČNI x = exp (35); natisni x '

Primer 9: Oblikovanje tiskanja

Lahko tudi formatirate funkcijo printf, ki je priložena awk. Obstaja veliko modifikatorjev, ki jih lahko uporabite. Na primer, lahko uporabite c za tiskanje kot niz; d lahko uporabite tudi za celoštevilčno vrednost itd.

$ awk 'BEGIN x = 200 * 200 printf "Rezultat je:% e \ n", x'

Primer 10: Strukturirani ukazi

Uporabite lahko tudi strukturirane ukaze, kot so if, else, while ali for zanka. Oglejmo si spodnji primer za ukaz if.

$ awk 'if ($ 1> 20) print $ 2' mynewfile

Zaključek

To nas vodi do konca naše vadnice za ukaze awk. Torej, ali se vam je zdelo koristno in ali ga boste uporabili za svoje delo? Komentirajte spodaj in nam sporočite.

S pomočjo gumba X-Mouse Button Control različno prilagodite gumbe miške za različno programsko opremo
Mogoče potrebujete orodje, ki bi lahko spremenilo nadzor miške z vsako aplikacijo, ki jo uporabljate. V tem primeru lahko preizkusite aplikacijo z ime...
Microsoft Sculpt Touch Wireless Mouse Review
Pred kratkim sem prebral o Microsoftov kiparski dotik brezžično miško in se odločil za nakup. Potem ko sem ga nekaj časa uporabljal, sem se odločil, d...
Zaslonska sledilna ploščica in kazalec miške AppyMouse za tablične računalnike Windows
Uporabniki tabličnih računalnikov pogosto zgrešijo miškin kazalec, še posebej kadar običajno uporabljajo prenosne računalnike. Pametni telefoni in tab...