AWK
From Wikipedia, the free encyclopedia
AWK on Bell Labsis 1977 loodud programmeerimiskeel tekstitöötluseks. AWK-s võetakse sisendandmed kas tekstifailist või standardsisendist.
AWK | |
---|---|
Faililaiend | .awk |
Paradigma | skriptimine, protseduraalne, sündmus-orienteeritud |
Väljalaskeaeg | 1977 |
Looja | Alfred Aho, Peter Weinberger ja Brian Kernighan |
Viimane väljalase | IEEE Std 1003.1–2004 (POSIX) / 1985 |
Tüüpimine | puudub; tunneb sõnesid, täisarve ja ujukoma-arve; regulaaravaldised |
Implementatsioonid | awk, GNU Awk, mawk, nawk, MKS AWK, Thompson AWK (kompilaator), Awka (kompilaator) |
Dialektid | vana awk (oawk) 1977, uus awk (nawk) 1985, GNU Awk (gawk) |
Mõjutatud keeltest | C, SNOBOL4, Bourne shell |
Mõjutanud keeli | Perl, Korn Shell (ksh93, dtksh, tksh), Lua |
Veebileht | cm.bell-labs.com/cm/cs/awkbook/index.html |
Keele nimi "AWK" on tuletatud keele autorite perekonnanimedest Alfred Aho, Peter Weinberger ja Brian Kernighan, kuid tavaliselt seda ei hääldata nagu tähtede järjendit (A-W-K), vaid pigem [ook] nagu alk, mis on inglise keeles auk. Alk on ka AWK vapilind, näiteks raamatu "The AWK Programming Language" kaanel – sellele raamatule viidatakse tihti, kasutades lühendit TAPL). Väiketähtedes kirjutatuna viitab awk UNIXis või Plan 9-s kirjutatud programmile, mis käitab teisi AWKis kirjutatud programme. AWKis kirjutatud arvutiprogrammi käivitamiseks UNIXi käsurealt tuleb AWK-programmi nime ette kirjutada käsk awk).
"AWK on tekstifailide töötlemise keel. Faili käsitletakse kirjete jadana ja vaikimisi on iga rida eraldi kirje. Iga rida jagatakse omakorda väljadeks, mis tähendab, et rea esimene sõna on esimene väli, rea teine sõna teine väli ja nii edasi. AWKi programm koosneb muster-käsklausetest. AWKi programm loeb sisendit reakaupa. Sisse loetud rida võrreldakse programmis iga mustriga ja iga sobiva mustri korral täidetakse mustrile järgnev käsk." – Alfred Aho[1]
AWK on näide programmeerimiskeelest, mis kasutab laialdaselt sõne andmetüüpi ja regulaaravaldisi. Algse AWKi võimsus, lakoonilisus ja piirangud inspireerisid Larry Walli kirjutama Perli. Samas defineeriti AWKi võimsamad variandid POSIX AWK ja gawk (GNU AWK). Kuigi AWK ja sed projekteeriti algselt üherealiste programmide loomiseks, kirjutati isegi Bell Labsis suuri ja hästi struktureeritud AWKi programme.
AWK oli üks väheseid vahendeid, mis oli saadav UNIXi seitsmendas versioonis ja kogus populaarsust UNIXi "torule" (pipeline) arvutuslike lisavõimaluste lisamise vahendina. Peaaegu igale moodsale UNIXi-laadsele operatsioonisüsteemile on sisse ehitatud mingisugune AWKi versioon. AWKi peetakse UNIXi-laadse operatsioonisüsteemi kohustuslikuks osaks. Lisaks Bourne'i shellile on AWK ainus standardses UNIXi keskkonnas kättesaadav skriptimiskeel.