Baro Command Linux - Gawk

Magaca

gawkeynta - qaabeynta taranka iyo luuqadaynta

Muujinta

gawk [ doorashooyinka POSIX ama qaababka GNU] -f faylka faylka [ - ] faylka ...
gawk [ doorashooyinka POSIX ama GNU style] [ - ] faylka qoraalka barnaamijka ...

pgawk [xulashada style POSIX ama GNU] -f faylka faylka [ - ] faylka ...
pgawk [ doorashooyinka POSIX ama GNU style] [ - ] faylka qoraalka barnaamijka ...

Sharaxaad

Gawk waa mashruuca GNU ee hirgelinta luuqada barnaamijka AWK. Waxay u hoggaansameysaa qeexitaanka luuqada POSIX 1003.2 Luqadda Taliska iyo Isticmaalka Goobaha. Noocani wuxuu ku saleysan yahay sharaxaadda Barnaamijka AWK Programming Language , by Aho, Kernighan, iyo Weinberger, oo leh sifooyin dheeraad ah oo laga helo Nidaamka V-Vase 4 version of UNIX. Gawk waxa kale oo uu bixiyaa shaandhooyin balaadhan oo cusub oo la yiraahdo "Bell Laboratories", iyo tiro ka mid ah kordhinta GNU.

Pgawk waa nooca la yaqaan ee gawaarida . Waa isku mid ah qaab kasta oo loo sameeyo gawaarida , marka laga reebo in barnaamijyada ay si tartiib tartiib ah u socdaan, waxayna si toos ah u soo saartaa astaanta fulinta faylka awkprof.out marka la sameeyo. Fiiri ikhtiyaarka leh - hoosta.

Khadka talisku wuxuu ka kooban yahay ikhtiyaarrada loo yaqaan ' gawk laftiisa', qoraalka barnaamijka AWK (haddii aan la helin fiilooyinka -f ama ikhtiyaarka ah), iyo qiimaha la heli karo ee ARGC iyo ARGV horay loo qeexay AWK doorsoomayaasha.

Fursada Xulashada

Fursadaha Gawk waxaa laga yaabaa inay noqdaan midkood POSIX oo ah midka caadiga ah, ama GNU style fursado dheer. Doorashooyinka POSIX waxay ku bilaabmaan hal '`-' ', halka fursadaha dheeraadka ah ay ku bilaabmaan'` - ''. Fursadaha dheeraadka ah waxaa la siiyaa qaababka GNU-ga gaar ahaaneed iyo astaamaha POSIX.

Ka dib marka la eego heerka POSIX, fursadaha gaarka ah ee la adeegsado waxaa lagu bixiyaa doodo ku wajahan -W doorashada. Doorashooyin badan oo kala duwan ayaa laga yaabaa in la keeno Doorasho kasta -Wax kasta wuxuu leeyahay xulasho dheer oo ku habboon, sida faahfaahinta hoose. Argagixisada fursadaha dheeraadka ah waxay ku xiran yihiin ikhtiyaarka iyada oo calaamad u ah, aan lahayn meelo isdhexgal ah, ama waxaa laga yaabaa in lagu bixiyo doodda xiga ee xiga. Fursadaha dheeraadka ah ee la soo gaabiyo waa la soo gaabin karaa, illaa iyo inta laga soo gaabiyo weli waa mid gaar ah.

Fursadaha

Gawk wuxuu aqbalaa ikhtiyaarka soo socda, ee ku qoran buugaag .

-F fs

- khadka-kala-saaraha fs Isticmaal fs adoo kala soocaya qaybaha la qabsashada (qiimaha kala duwan ee FS ).

-v var = val

- iskuday var = valo Qiimaha qiimaha bedelka var , ka hor inta aan la fulin barnaamijka. Qiimaha doorsoomahan oo kale ayaa laga heli karaa barnaamijka AWK ee BEGIN.

-fawlka faylka

- Feejignaan -barnaamij fayl- akhriya ilaha barnaamijka AWK ee faylka faylka -faylka , halkii laga soo bilaabi lahaa dooddii ugu horaysay ee taliska. Fursadaha kala duwan ee -f (or --file ) ayaa loo isticmaali karaa.

-mf NNN

-mr NNN Waxaad dhigtaa xuduudaha xusuusta kala duwan qiimaha NNN . Calanka f ayaa dejiya tirada ugu badan ee beeraha, calanka calanka wuxuu dejiyaa xajmiga ugu sarreeya. Labada calaamadood iyo ikhtiyaari--ikhtiyaari waxay ka socdaan nuqulka cilmi baarista ee sheybaarada ee UNIX . Waxaa la iska indhatiray gawaar , maaddaama gawaaruhu aanu lahayn xaddidaad hore loo cayimay.

-Waxaad tihiin

-Wax dhaqameed

- Akhriso

- ku-meel-gaar ah Ku orda habka iswaafajinta . Marka la eego habka isdhexgalka, gawaarida waxay u dhaqmaan si isku mid ah UNIX ; mid ka mid ah darajooyinka gaarka ah ee GNU waa la aqoonsan yahay. Isticmaalka -traditional ayaa doorbidaya qaababka kale ee xulashadan. Fiiri GNU EXTENSIONS , ee hoose, macluumaad dheeraad ah.

-Waxbarashada

-Waxbarashada

- miyuusigga

--copyright Waxaad daabacdaa qaybta gaaban ee farriinta macluumaadka ee copyright GNU ee ka soo baxa heerka caadiga ah iyo si guul leh uga bax.

-Waxaan ku dhufanayaa [ = faylka ]

- Dump-variables [ = faylka ] Daabac liistada kala duwan ee doorsoomayaasha caalamiga ah, noocyadooda iyo qiimaha kama dambaysta ah si aad u fayl-gareeyaan . Haddii aan la helin faylka , gawaar wuxuu isticmaalaa faylka lagu magacaabo awkvars.out ee diiwaanka hadda.

Haysashada liiska dhammaan doorsoomayaasha caalamiga ah waa hab wanaagsan oo lagu baadho khaladaad qaldan ee barnaamijyadaada. Waxaad sidoo kale isticmaali kartaa doorashadan haddii aad leedahay barnaamij ballaaran oo leh hawlo fara badan, waxaadna dooneysaa inaad hubiso in shaqooyinkaagu aysan si xun u isticmaalin doorsoomayaal caalami ah oo aad loola jeedo inaad noqoto degaan. (Tani waa khalad gaar ah oo sahlan in la sameeyo magacyada isbeddelka fudud sida i , j , iwm.)

-Wax caawimaad

Isticmaalka

--I caawi

-usage Daabacaad kooban oo kooban oo ku saabsan fursadaha la heli karo ee ku saabsan soo saarida caadiga ah. (Marka loo eego Heerarka Codka GNU , ikhtiyaarkan waxay keenaan ka bixitaan degdeg ah, oo guuleysta.)

-Waxaa ku jira [ = dhimasho ]

--lint [ = dhimasho ] Bixinta digniinta ku saabsan dhismayaasha kuwaas oo aan shaki ka ahayn ama aan la qaadi karin fulinyada kale ee kale. Iyada oo la adeegsanayo dood dhexdhexaad ah oo ah dhimasho , digniinaha calaamadaha ayaa noqda khaladaad dhimasho. Tani waxay noqon kartaa mid adag, laakiin adeegsigeeda ayaa hubin doona horumarinta barnaamijyada nadiifinta AWK.

-Waxaa jira gabow

- da'da-hore Daaha digniin ku saabsan dhismayaasha aan ahayn wax la qaadi karo si ay u noqdaan version asalka ah ee Unix awk .

-W-gen

- Isku-dhafid iyo iskuduwaan barnaamijka AWK, oo soo saaro faylka qaabka GNU .po ee soo saaraha caadiga ah iyadoo la gelinayo dhammaan xarumaha laxiriira barnaamijka. Barnaamijka laftiisa looma fulin. Fiiri qaybinta qoraalka GNU macluumaad dheeri ah oo ku saabsan faylasha .po .

-Waxaad-aan-ahayn xogta

- Tirada-toban-dhibcood Aqoonsiga qiimayaasha sarrifka iyo qiyaasta ee ku jira xogta xogta. Isticmaal doorashadan si taxadar leh!

-Waxbarashada

--posix Tani waxay u muuqataa qaabka isdhexgalka , iyada oo xayiraadaha dheeraadka ah ee soo socda:

*

\ x isugeynta baxsiga lama aqoonsana.

*

Kaliya meeshi iyo tab wuxuu u shaqeeyaa sida kala-goynta beeraha marka FS loo dhigo meel hal meel ah, khariidad cusub maahan.

*

Ma sii wadi kartid khadadka ka dib ? iyo :.

*

Macnaha erayga macnaha ereyga muhiimka ah lama aqoonsana.

*

Operators ** iyo ** = looma isticmaali karo meeshii ^ ^ ^ ^ .

*

Function fflush () lama heli karo.

-Waxaa iska leh [ = prof_file ]

- Sharaxaad [ = Prof_file ] U dir macluumaadka profiling si prof_file . Badbaadinta waa awkprof.out . Markaad la socoto gawaarida , profile waa uun 'daabacan qurxoon' 'barnaamijka. Markaad la socoto pgawk , profile waxaa ku jira tirinta codsiyada ee bayaan kasta ee barnaamijka ku jira marinka bidix iyo xisaab celinta shaqooyinka shaqeyn kasta oo loo isticmaalo.

-Waxaad dib udhigeysaa

-re-interval U oggolow isticmaalka erayada isbeddelka ee isuduwidda joogtada ah (eeg Fahfaahin joogto ah , hoos). Calaamadaha dhexdhexaadka ah ma aha mid dhaqan ahaan lagu heli karo luqadda AWK. Heerka POSIX waxay ku darsameen, si ay u sameeyaan cajiib ah iyo mid kale oo isku mid ah. Si kastaba ha noqotee, isticmaalkooda waxay u badan tahay in la jebiyo barnaamijyada hore ee barnaamijka AWK, sidaas darteed gawkarka kaliya ayaa bixiya haddii la codsado ikhtiyaarkan, ama marka - tilmaameedka la cayimay.

-Waxbarasho qoraal ah

- barnaamijka qoraalka-qoraalka Isticmaal qoraalka barnaamijka sida barnaamijka AWK barnaamijka. Doorashadan waxay u ogolaanaysaa isku-xidhka fudud ee hawlaha maktabadda (oo loo isticmaalo -f iyo -file ikhtiyaari ah) iyada oo la adeegsanayo koodhka koodhka oo lagu qoray khadadka taliska. Waxaa loogu talagalay ugu horreyn barnaamijyada AWK dhexdhexaad ah iyo kuwa waaweyn ee loo isticmaalo qoraallada shaxda.

-Waaxda

--wersion Waxaad daabacdaa macluumaadka wixi nuqul gaar ah ee gawaarida ee ka soo baxa heerka caadiga ah. Tani waxay faa'iido u leedahay in la ogaado haddii nuqulada hadda ah ee nidaamkaaga ku jira nidaamkaagu uu yahay mid aad u sarreeya iyada oo la tixraacayo wax kasta oo ay u qaybsamayso Foundation Free Software Foundation. Tani waxay kaloo faa'iido leedahay markaad soo sheegto cayayaanka. (Marka loo eego Heerarka Codka GNU , ikhtiyaarkan waxay keenaan ka bixitaan degdeg ah, oo guuleysta.)

- Isku day dhamaadka fursadaha. Tani waxay faa'iido u leedahay in ay u oggolaato dood dheeraad ah barnaamijka AWK in uu bilaabo '`-' '. Tani waxay badanaa u tahay isweydaarsiga doodda doodaha kala duwan ee ay isticmaalaan barnaamijyada kale ee POSIX.

Marka la eego habdhaqanka, xulashooyinka kale ayaa lagu calaamadiyay inay yihiin kuwo aan caqli gal ahayn, lakiin waa la iska indhatiray. Hawlgallada caadiga ah, illaa inta qoraalka barnaamijka la bixiyey, xulashooyinka aan la aqoon waxaa loo gudbin doonaa barnaamijka AWK ee ku yaala arrinka ARGV ee lagu shaqeynayo. Tani waxay si gaar ah faa'iido ugu leedahay barnaamijyada AWK iyada oo loo marayo '' #! '' Macnaha tarjumaadda macquul ah.

BARNAAMIJKA BARNAAMIJKA AWK

Barnaamijka AWK wuxuu ka kooban yahay taxane ah qaab-dhaqameed-ficil tallaabo iyo qeexitaano hawlgal oo la kala dooran karo.

qaab

magaca shaqada ( liiska calaamadaha ) { statements }

Gawk wuxuu marka hore akhriyaa ilaha barnaamijka laga soo bilaabo barnaamijka ( farta) barnaamijka haddii la cayimay, laga bilaabo doodaha illaa -source , ama laga bilaabo doodda koowaad ee aan ahayn ikhtiyaariga ee khadka taliska. Fursadaha -f iyo --source waxaa loo isticmaali karaa marar badan khadka taliska. Gawk wuxuu akhriyaa qoraalka barnaamijka sida haddii dhammaan qoraallada faylka iyo qoraallada ilaha taliska ee la isku duubay. Tani waxay faa'iido u leedahay dhismaha maktabadaha shaqooyinka AWK, iyada oo aanad ku darin barnaamij kasta oo AWK ah oo isticmaala. Waxa kale oo ay bixisaa karti u yeelashada isku-xidhka maktabada ee barnaamijyada taliska.

AWKPATH badalashada deegaanka ayaa tilmaamaya jid raadin ah si loo isticmaalo marka la helo faylasha ilaha macluumaadka lagu magacaabo -f doorasho. Haddii isbedelkaasi aanu jirin, waddada qaldan waa ".: / Usr / local / share / awk" . (Diiwaanka dhabta ah wuu kala duwanaan karaa, iyadoo ku xiran sida looxaqiijiyay loo dhisay iyo la rakibay.) Haddii magaca faylka la siiyay -f doorasho uu ka kooban yahay '' / '' dabeecad, ma jirto raadinta waddo.

Gawk wuxuu fuliyaa barnaamijyada AWK ee nidaamka soo socda. Marka hore, shaqooyinka kala duwan ee lagu cayimay iyadoo la adeegsanayo nooca -v- option. Marka dambe, gawaarida ayaa barnaamijka ku daraya qaabka gudaha. Kadibna, boodboodku wuxuu fuliyaa koodhka BEGIN-ka (haddii uu jiro), kadibna wuxuu sii wadaa inuu akhriyo feyl kasta oo lagu magacaabo arrimo ARGV . Haddii aysan jirin wax fayl ah oo lagu magacaabay xariiqa taliska, gawaar ayaa akhriya talooyinka caadiga ah.

Haddii faylka ku yaal khadadka taliska uu leeyahay foomka var = val waxaa loola dhaqmaa sidii assign assignable. Qeybta isbeddelka waxaa loo qoondeeyn doonaa qiimaha qiimaha. (Tani waxay dhacdaa ka dib marka la joojiyo BASINTA (yada).) Qodobbalka isbeddelka xarriijinta ayaa badanaa faa'iido u leh si habsami ah loogu meeleynayo qiimaha doorsoomayaasha AWK waxay u isticmaalaan si ay u kantaroolaan sida loola jebiyo beeraha iyo diiwaanada. Waxa kale oo ay faa'iido leedahay in la xakameeyo gobolka haddii baasabooro badan loo baahan yahay faylka xogta.

Haddii qiimaha qayb ka mid ah ARGV uu yahay mid madhan ( "" ), gawaar ayaa ku dul dhejin doona.

Diiwaanka kasta ee ku-soo-gelinta, baaritaanada gawaarida si loo arko haddii ay ku habboon tahay qaab kasta ee barnaamijka AWK. Nooc kasta oo rikoorka u dhigma, tallaabo la xidhiidha ayaa la fuliyaa. Nidaamyada waxaa lagu tijaabiyaa habka ay u dhacaan barnaamijka.

Ugu dambeyntii, ka dib dhammaan talooyinka la dhammeeyey, gawaar ayaa ku sameeya koodhka xirmada END (haddii ay jirto).

Isbeddelada, Diiwaanada, iyo Goobaha

AWK doorsoomayaal waa firfircooni; waxay keenaan jiritaanka marka ugu horeysa loo isticmaalo. Qiyamkoodu waa nambarada dhibcaha leh ama xariiqyada, ama labadaba, iyadoo ku xiran sida loo isticmaalo. AWK sidoo kale waxay leedahay hal arrimo mug leh; arraysyo leh cabbiro kala duwan ayaa loo siman karaa. Qaar ka mid ah doorsoomayaasha hore loo qeexay ayaa loo dejiyey barnaamijka; kuwan ayaa lagu sharxi doonaa hadba sida loogu baahan yahay looguna soo koobay hoos.

Diiwaanada

Caadi ahaan, diiwaanada waxaa loo kala soocayaa astaamaha cusub. Waxaad xakameyn kartaa sida diiwaannada loo kala soocayo adiga oo ku qeexaya qiimaha ay ku kala duwan yihiin RS-ga . Haddii RS-ga yahay hal dabeecad, dabeecaddaani way kala sooceysaa diiwaanka. Haddii kale, RS waa hadal caadi ah. Qoraalka ku jira talada ku habboon ee ku habboon ee isbarbardhigga ah ayaa ka dhigaysa rikoorka. Si kastaba ha noqotee, qaabka isdhexgalka, kaliya astaamaha koowaad ee qiimaha xariiqa waxaa loo isticmaalaa in lagu kala sooco diiwaanada. Haddii RS-ga la dhigo xariijinta null, ka dibna diiwaanada waxaa loo kala soocayaa xariiqyo bannaan. Marka RS-ga la dhigo xarafka null, marjaca cusub wuxuu mar walba u dhaqmaa sida kala-saaraha beerta, marka lagu daro qiime kasta oo FS ah .

Goobaha

Maadaama rikoor kasta oo akhris ah la aqriyo, gawaarida ayaa rikoodhka ku kala qoqobaya beeraha , adoo isticmaalaya qiimaha isbeddelka FS sida qaybaha kala goynta. Haddii FS ay tahay hal dabeecad, beeraha waxaa u dhaxeeya dabeecaddan. Haddii FS ay tahay nulliga, ka dibna dabeecad kasta oo shakhsiyadeed ayaa noqonaya mid gooni ah. Haddii kale, FS waxaa la filayaa in ay noqoto mid joogto ah. Xaaladda gaarka ah ee FS ay tahay meel keliya, beeruhu waxay u kala baxaan goobo iyo / ama tabs iyo / ama xarfo cusub. (Bal fiiri wadahadalka - hoos, hoos). FIIRO GAAR AH: Qiimaha IGNORECASE (eeg hoos) wuxuu sidoo kale saameeyaa sida goobaha kala qaybsan yihiin marka FS ay tahay mid joogto ah, iyo sida diiwaannada loo kala soocayo marka RS waa muujin joogto ah.

Haddii variable variable FIELDWIDTHS loo dhigo liis kala duwan oo ku yaal liiska tirooyinka, beer kasta waxaa laga filayaa in uu leeyahay ballac ballaadhan, iyo digaaggu wuxuu u kala baxaa diiwaanka iyadoo la isticmaalayo xajmiyada loo cayimay. Qiimaha FS waa la iska indhatiray. Qaadashada qiimaha cusub ee FS waxay ka joojisaa isticmaalka FIELDWIDTHS , waxayna dib u soo celisaa habdhaqanka asaasiga ah.

Meel kasta oo ka mid ah diiwaanka galinta waxaa laga yaabaa in lagu tilmaamo booskiisa, $ 1 , $ 2 , iyo wixii la mid ah. $ 0 waa rikoorka oo dhan. Goobuhu uma baahna in la tixraaco si joogto ah:

n = 5
daabac $ n

wuxuu ku daabacaa shantii shanaad ee rikoodhka giraanta.

Isbedelka NF wuxuu ku qeexayaa tirada guud ee goobaha diiwaanka laga galo.

Tixraacyada beeraha aan lahayn (ie, goobaha ka dib $ NF ) waxay soo saaraan null-string. Si kastaba ha noqotee, meelaynta aan lahayn (Tusaale ahaan, $ (NF + 2) = 5 ) waxay kordhisaa qiimaha NF , waxay abuurtaa goobo kala geddisan oo leh qiimihii nulliga ah ee qiime ahaan, waxayna keenaan qiimaha $ 0 in lagu soo celiyo, beeraha ay kala soocaan qiimaha OFS . Tixraacyada ku saabsan aagga tirooyinka taban ayaa keenaya qalad halis ah. Kordhinta NF waxay sababtaa qiimaha meelaha ugu dambaysa ee qiimaha cusub ee la lumiyo, iyo qiimaha $ 0 in la soo jeediyo, iyada oo dhinacyada ay kala soocaan qiimaha OFS .

Qiimeeynta qiimaha berrinka hadda jira waxay keeneysaa dhammaan diiwaanka in dib loo dhiso marka $ 0 loo tixraaco. Sidoo kale, u-qoondaynta qiimaha $ 0 waxay sababaysaa diiwaanka in ay noqoto mid dib-u-habeyn, abuurista qiyamka cusub ee beeraha.

Dhexdhexaadin lagu dhisay

Gawk 's doorsoomayaasha la dhisay waa:

ARGC

Tirada xarriiqda taliska (ma ku jiraan ikhtiyaarrada gawaarida , ama ilaha barnaamijka).

ARGIND

Tirakoobka ARGV ee faylka hadda lagu shaqeynayo.

ARGV

Qaababka doodaha taliska. Arraygu waxaa laga soo xigtay 0 ilaa ARGC - 1. Si isdaba-joog ah u bedelaya waxyaabaha ku jira ARGV waxay xakameyn karaan faylasha loo adeegsado xogta.

BINMODE

Nidaamyada aan ku jirin POSIX, waxay qeexayaan isticmaalka 'ikhtiyaari' 'dhammaan faylka I / O. Qiimaha tirooyinka 1, 2, ama 3, waa in la sheegaa faylasha la geliyo, feylka la soo saaro, ama dhammaan faylasha, siday u kala horreeyaan, waa inay isticmaalaan ikhtiyaari ahaan I / O. Qiimaha String ee "r" , ama "w" ayaa tilmaamaya feylka faylalka, ama feylalka ka soo baxa, siday u kala horreeyaan, waa inay isticmaalaan ikhtiyaari ahaan I / O. Qiimaha String ee "rw" ama "wr" ayaa tilmaamaya in dhammaan faylasha ay isticmaalaan ikhtiyaari ahaan I / O. Qiimaha kale ee xarfaha waa loola dhaqmaa "rw" , laakiin wuxuu abuuraa farriin digniin ah.

CONVFMT

Nidaamka is-beddelka ee tirooyinka, "% .6g" , waa mid default.

DIIWAAN

Daaqad ay ku jirto qiimaha bii'ada hadda jirta. Dhanka waxaa lagu muujiyey isbeddelka jawiga deegaanka, walxo kasta oo ah qiimaha bedelka (tusaale, ENVIRON ["HOME"] waxaa laga yaabaa inay noqoto / guriga / arnold ). Beddelidda arrintani ma saameynayso bay'ada ay muujinayaan barnaamijyada gawaarida ku shaqeeya iyadoo loo marayo dib u habeyn ama qaabka nidaamka () .

ERRNO

Haddii qalad nidaamku dhaco ama sameeynayo dib-u- diris loogu talagalay helitaanka qadka , inta lagu jiro aqrinta helitaanka , ama inta lagu jiro () , markaa ERRNO waxay ku jiri doontaa xaraf sharaxaysa qaladka. Qiimaha waxaa lagu turjumayaa luuqadaha aan Ingiriiska ku hadlin.

FIELDWIDTHS

Liis cad oo bannaan oo isbeddel ah oo ka mid ah goobaha cirifka. Marka la dejiyo, boodboodku wuxuu ka dhigayaa fikradaha ku soo gala meelaha ballaaran ee loo yaqaan, iyadoo loo adeegsanayo qiimaha isbeddelka FS sida qaybaha kala-guurka.

MAGACA FAYLKA

Magaca faylasha iminka jira. Haddii aan faylasha lagu qorin khadka taliska, qiimaha FILENAME waa '' - ''. Si kastaba ha noqotee, FILENAME lama garanayo gudaha BEGIN BEGIN (haddii aan la helin bogga ).

FNR

Nambarka diiwaanka ee ku jira faylasha la soo geliyey.

FS

Kala soocida meesha laga soo gooyo, meel bannaan ah. Eeg Meelaha , kor ku xusan.

IGNORECASE

Waxay xakameysaa kiis-xasaasiyadeed ee dhammaan hawlaha cadeynta iyo qaylo-dhaanta. Haddii IGNORECASE leedahay qiime aan lahayn eber, ka dib isbarbardhigga isbarbardhigga iyo qaabka isbarbar dhigista ee xeerarka, kala qaybsanaanta FS , diiwaanka kala soocaya RS , wadahadal joogta ah oo la mid ah ~ iyo ! ~ Iyo gensub () , gsub () , index () , ciyaarta () , kala-qaybsan () , iyo sub-() dhismaha-ku-shaqeeya dhammaantood waa iska indha-tiraan kiis marka ay sameeyaan hawl-wadareedyo joogto ah. FIIRO GAAR AH: Qaybinta liistada ma saameynayso, mana aha shaqada asort () .

Sidaa darteed, IGNORECASE uma eka eber, / a / wuxuu la wadaagaa dhamaan "ab" , "a" , "ab " , iyo "AB" . Sida dhammaan shuruudaha AWK, qiimaha ugu horeeya ee IGNORECASE waa eber, sidaa daraadeed dhammaan hawlaha joogtada ah iyo xarfaha ayaa caadi ahaan dhacda. Under Unix, buuxa ISO 8859-1 Latino-1 dabiiciga ah waxaa loo isticmaalaa marka la iska indha tirayo kiiska.

LINT

Waxay bixisaa xakamaynta firfircoonaanta kala-doorashada ikhtiyaaraadka ah ee laga helo barnaamijka AWK. Marka runta, boodboodku wuxuu soo saaraa digniino cad. Marka been ah, ma aha. Marka lagu qoro qiimaha xadhigga "dhimasho" , digniinaha calaamadaha ayaa noqda khaladaad isdaba- joog ah , sida saxda ah -lint = dhimasho . Qiime kasta oo run ah oo keliya ayaa soo saaraya digniino.

NF

Tirada goobaha kaydka hadda jira.

NR

Tirada guud ee xogta la soo uruuriyay ilaa hadda.

OFMT

Noocyada soo saarista ee tirooyinka, "% .6g" , ayagoo ah mid default.

OFS

Kala saaraha kala-saaraha goobta, meel bannaan ah.

ORS

Kala soocida qoraallada wax soo saarka, iyadoo la badalayo mid cusub.

PROCINFO

Qaybaha arrintan waxay bixiyaan macluumaadka ku saabsan barnaamijka AWK ee ordaya. Qaar ka mid ah nidaamyada, waxaa jiri kara xubno ka mid ah arraytka , "koox1" illaa "koox n " qaar ka mid ah n , oo ah tiro ka kooban kooxo dheeri ah oo geedi socodku leeyahay. Isticmaal adeegaha si aad u tijaabisid waxyaabahaas. Waxyaabaha soo socda ayaa loo balan qaadayaa in la heli karo:

PROCINFO ["egid"]

qiimaha habka nidaamka nidaamka (2).

PROCINFO ["euid"]

qiimaha habka nidaamka helitaanka (2).

PROCINFO ["FS"]

"FS" haddii feylka kala qaybsanaanta FS ay hirgalayso, ama "FIELDWIDTHS" haddii khilaafka FIELDWIDTHS ay saameyn ku yeeshaan.

PROCINFO ["gid"]

qiimaha habka nidaamka gadaal (2).

PROCINFO ["pgrpid"]

habka kooxeed ee nidaamka hadda jira.

PROCINFO ["pid"]

Aqoonsiga habraaca ee nidaamka xaadirka ah.

PROCINFO ["ppid"]

Aqoonsiga habka waalidka ee nidaamka xaadirka ah.

PROCINFO ["uid"]

qiimaha habka nidaamka helida (2).

RS

Kala soocida qoraallada, oo ay ku beddesho mid cusub.

RT

Dhamaystaha rikoodhka. Gawk wuxuu RT u dhigayaa qoraalka wax-qabadka ee u dhigma astaamaha ama muujinta joogtada ah ee RS-da .

RSTART

Heerka astaamaha ugu horeeya ee ciyaaray () ; 0 haddii aysan jirin. (Tani waxay tusineysaa in indices-ka-sheegista astaamaha ay bilaabayaan.)

RLENGTH

Dhererka dhererka ee isku xiran () ; -1 haddii aysan ciyaarin.

SUBSEP

Calaamadda loo isticmaalo in lagu kala saaro qaybaha badan ee qaybaha arrimahan, iyadoo loo eegayo "034" .

TEXTDOMAIN

Qoraalka qoraalka barnaamijka AWK; loo isticmaalo si loo helo tarjumaadaha degaanka ee barnaamijyada.

Arrays

Xayeysiisyada ayaa lagu soo dhejiyay qoraallo dhexdhexaad ah ( [ iyo ] ). Haddii falka uu yahay liis muujin ah ( sawir , muujisid ...) markaas xarafka arrimuhu waa xadhig ka kooban iskudubka qiimaha (xaraf) ee erey kasta, oo ay kala soocaan qiimaha isbedelka SUBSEP . Xaruntan waxaa loo adeegsadaa in lagu simo arrimo badan oo dhereran. Tusaale ahaan:

i = "A"; j = "B"; k = "C"
x [i, j, k] = "hello, dunida \"

wuxuu ku meeleeyaa xarafka "hello, aduunka" n " element " oo xajka x ee xayeysiis ah "A \ 034B \ 034C" . Dhamaan arrimihii AWK waa urur isdhaafsan, taas oo muujinaysa qiimaha xarafka.

Hawlwadeenka gaarka ah waxaa loo isticmaali karaa haddii ama hadyad kale si loo eego haddii array uu leeyahay taxane ka kooban qiimo gaar ah.

haddii (tiir dherer ah) ay soo daabacaan [tax]

Haddii qaanadku leeyahay qaybo badan oo badan, isticmaal (i, j) ee array .

Qaab dhismeedka ayaa sidoo kale loo isticmaali karaa si loogu talagalay si loo yareeyo dhammaan waxyaabaha ka mid ah array.

Unug ayaa laga tirtiri karaa array iyadoo la isticmaalayo qoraalka tirtiridda . Qoraalka tirtiraha waxaa sidoo kale loo isticmaali karaa in la tirtiro dhammaan waxyaabaha ka mid ah array, adoo tilmaamaya magaca dukumiintiga adigoon lahayn liiska.

Calaamadaha Isbedelka iyo Isbedelka

Waxyeelooyinka iyo beeruhu waxay noqon karaan nambarro, ama xariiq, ama labadaba. Sida qiimaha doorsoomaha loo tarjumay waxay ku xiran tahay hadalkeeda. Haddii loo isticmaalo xayeysiis tiran, waxaa loola dhaqmayaa sidii lambar, haddii loo isticmaalo sida xadhig waxaa laguula dhaqmayaa sidii xarig.

Si aad u adkeyso variable ah in laguula dhaqmo sida lambar, ku dar 0 adigoo; si loogu qasbo in loola dhaqmo sida xadhig, iskudubarid xaraf adag.

Marka xadhig waa in loo beddelaa nambar, isbedelka waxaa lagu dhammeeyaa iyadoo la isticmaalayo strtod (3). Nambar waxaa loo beddelaa xarfad adoo isticmaalaya qiimaha CONVFMT oo ah qaab xaraf ah oo loo yaqaan sprintf (3), iyadoo leh qiimaha tirade ee doorsoomaha sida doodda. Si kasta ha ahaatee, inkastoo dhammaan nambarada AWK ay yihiin calaamad yahiin, qiimaha aasaasiga ah ayaa mar walba loo beddelaa sida miisaanka. Sidaa darteed, la siiyey

CONVFMT = "% 2.2f" a = 12 b = "" ""

b ee doorsoomuhu wuxuu leeyahay qiimaha "12" iyo "12.00" .

Gawk wuxuu isbarbardhigayaa sida soo socota: Haddii laba variable waa tirooyin, waxaa loo barbardhigaa tiro ahaan. Haddii mid ka mid ah qiimaha uu yahay lambar iyo kan kale wuxuu leeyahay qiimo saxda ah oo ah '' dhambaal tirsi ',' markaa isbarbardhigyada waxaa sidoo kale loo sameeyaa tiro ahaan. Haddii kale, qiimaha tirada ayaa loo beddelaa xariijin iyo isbarbardhig xayndaab ayaa la sameeyaa. Laba xaraf ayaa la barbardhigayaa, dabcan, sida xarriijinta. Xusuusnow in heerka POSIX uu ku dabaqo fikradda '' xariiqa xariiq '' meel kasta, xataa xitaa konfeedishada. Si kastaba ha ahaatee, tani waxay si cad u qaldan tahay, cawskuna sidaas ma sameeyo. (Nasiib wanaag, tani waxay ku taagantahay qaabka xiga ee heerka caadiga ah.)

Ogsoonow duruusta xakamaynta, sida "57" , ma aha xarfo tiro badan, waxay yihiin xayiraad xaraf ah. Fikradda '' string string '' wuxuu kaliya khuseeyaa goobaha, helitaanka fekerka, FILENAME , xubno ARGV , Kombiyuutarrada 'ENVIRON elements' iyo xubno ka mid ah array loo abuuray kala qaybsan () oo ah xarfo tiro badan. Fikradda aasaasiga ah waa talada isticmaalaha , oo kaliya talooyinka isticmaalaha, oo eegaya tirooyin, waa in loola dhaqmo habkaas.

Waxyaalaha aan loo kala saarin waxay leeyihiin qiimaha tirade 0 iyo qiimaha xarafka "" (null, ama madhan, xaraf).

Sabtiyada iyo Hexadecimal Constants

Laga bilaabo version 3.1 ee marawaxada, waxaa laga yaabaa in aad isticmaasho siddeed-tobanka-tobnaad iyo kontoroolka laba-geesoodka ee barnaamijkaaga AWK. Tusaale ahaan, qiimaha siddeedaad ee 011 wuxuu u dhigmaa tobanlaha 9 , qiimaha hexad ah 0x11 wuxuu u dhigmaa tobanlaha 17.

Xeeladaha String

Sababaha xarriiqda ee AWK waa taxanaha jilayaasha ee kuxiran labada xigto ( " ).

\\

Dib-u-dhaca dhabta ah.

a

Dabeecadda 'digniinta'; inta badan astaamaha ASCII BEL.

b

backspace.

f

foom-quudin.

\ n

cusub.

\ r

celinta gawaarida.

t

gogol-siman.

\ v

gadaal toosan.

Xirmooyinka digitalka

Astaanta astaamaha ah ee tirooyinka laba iyo tobnaad ee ku xiga . Sida ku jirta ANSIC, dhammaan lambarrada soo socota ee laba geesoodka ah ayaa loo tixgeliyaa qayb ka mid ah taxanaha baxsiga. (Hannaankani waa inuu noo sheegaa wax ku saabsan qaabka luuqada ee guddiga.) Tusaale, "\ x1B" waa dabeecada ASCIIESC (escape).

\ ddd

Astaamaha uu matalayo 1-, 2-, ama 3-hanadood ee tirooyinka sanadaha siddeedaad. Tusaale ahaan, "033" waa dabeecada ASCII ESC (escape escape).

c

Astaanta asalka ah c .

Qeybaha baxsiga ayaa sidoo kale loo adeegsan karaa tibaaxo joogto ah (tusaale, / [\ t \ f \ n \ r \ v] / u dhigmo jilayaasha xayiraadda).

Marka la eego habka isdhexgalka, jilayaasha matalaya jaantuska tobanlaha iyo qiyaastii tobanlaha ayaa lagu daaweynayaa macno ahaan marka loo isticmaalo duruus joogto ah. Sidaas darteed, / a / 52b / waxay u dhigantaa / a \ * b / .

Tusmooyinka iyo Waxqabadyada

AWK waa luqad ku saleysan luuqadda. Qaabka ayaa marka hore yimaada, ka dibna ficilka. Qoraalka tallaabooyinka waxaa lagu lifaaqaa { iyo } . Ama qaabka laga yaabo inuu maqan yahay, ama ficil laga yaabo inuu maqan yahay, laakiin, dabcan, labadaba. Haddii qaabka uu maqan yahay, ficilka waxaa loo fuliyaa rikoor kasta oo ka mid ah talooyinka. Ficilka maqan ayaa u dhigma

{daabacid}

taas oo daabaceysa dhammaan rikoodhada.

Faallooyinka waxay ka bilaabmaan '' # '' dabeecad, waxayna sii wadaan ilaa dhamaadka khadka. Xadhigaha khatarta ah waxaa loo isticmaali karaa in lagu kala saaro bayaannada. Caadi ahaan, bayaanka ayaa ku dhamaanaya hab cusub, si kastaba ha ahaatee, tani ma ahan kiisaska ku dhejinaya '', ' ,,,, ? , : , && , ama || . Lines-ka oo dhammeystiraya ama haddii kale waxay leeyihiin kalgacal ay si toos ah ugu sii socdaan khadka soo socda. Xaaladaha kale, xariiq ayaa la sii wadi karaa iyada oo la soo gabagabeynayo ', taas oo dhacda khadka cusub ee la tirtiri doono.

Qoraal badan ayaa laga yaabaa in lagu dhejiyo hal xariiq adoo kala saaraya ''; ''. Tani waxay khuseysaa labada eray ee ka mid ah qaybta ficilka ee lamaanaha qaab-dhaqameedka (kiiska caadiga ah), iyo astaamaha qaab-dhaqameedkooda.

Naqshadaha

Noocyada AWK waxay noqon karaan kuwa soo socda:

KA BEDDELINTA END / muujinta joogtada ah / qaabka isbarbar dhiska & & qaabka qaabka | qaab qaab : qaab ( qaab ) ! qaabka naqshadaha1 , qaabka2

BEGIN iyo END waa laba nooc oo khaas ah oo aan lagu tijaabinin waxtarka. Qeybaha waxqabadka ee dhammaan qaababka BEGIN ayaa la isku darayaa sida hadalladahan oo dhan lagu qoray hal- xayir BEGIN ah. Waa la fuliyaa ka hor intaan wax akhris ah la akhrinin. Sidoo kale, dhammaan qaybaha END waa la isku darayaa, oo la dallacaa marka dhammaan talooyinka la dhammeeyo (ama marka la soo saaro bayaan bixinta ). BEGIN iyo qaababka END laguma soo koobi karo qaabab kale qaababka muuqaalka. BEGIN iyo qaababka END ma lahaan karaan qaybo ficil ah.

Wixii / muujin joogto ah / qaababka, qoraalka la xidhiidha ayaa loo hirgeliyaa rikoodh kasta oo isku dheelitiran oo ku habboon. Tusmooyinka joogtada ah waxay la mid yihiin kuwa ku jira egrep (1), waxaana lagu soo koobay hoos.

Tixgelin isdhexgal ah ayaa isticmaali kara mid kasta oo ka mid ah hawlwadeennada hoos lagu qeexay qaybta ficilka. Kuwani guud ahaan waxay tijaabiyaan haddii goobaha qaar ay u dhigmaan tibaaxyada joogtada ah.

& & , || , iyo ! waa inay yihiin kuwo macquul ah AMA, macquul ah AMA, iyo macquul maaha, siday u kala horreeyaan, sida C. Waxay sameeyaan qiimeyn gaaban, sidoo kale sida ku jirta C, waxaana loo isticmaalaa inay isku daraan tibaaxo asal ah. Sida luuqadaha badankood, waxaa laga yaabaa in loo isticmaalo in lagu bedelo amarka qiimeynta.

Tusaale : Hawlwadeenku wuxuu u eg yahay isla shirkadda C. Haddii qaabka ugu horeeya uu runta yahay qaabka loo adeegsaday imtixaanku waa qaabka labaad, haddii kale waa saddexaad. Kaliya mid ka mid ah qaababka labaad iyo seddexaad ayaa la qiimeeyaa.

Nidaamka1 , qaabka muuqaalka ee 2aad waxaa lagu magacaabaa qaab kala duwan . Waxay la mid tahay dhammaan faylasha xogta oo laga bilaabo rikoor u dhigma nambarka1 , oo sii wadaya illaa diiwaanka ku habboon shaxda2 , oo loo dhan yahay. Kama wada koobna nooc kasta oo muujinaysa qaab kale.

Sheekooyin joogto ah

Tusaalooyinka joogtada ah waa nooca fidsan ee laga helo xayawaanka . Waxay ka kooban yihiin jilayaal sida soo socota:

c

waxay la kulmaan calaamadaha aan mashiinka ahayn ee c .

c

wuxuu la mid yahay dabeecadda suugaaneed c .

.

waxay la kulmaan dabeecad kasta oo ay ku jiraan cusub.

^

wuxuu la mid yahay bilowga xadhig.

$

wuxuu isku xiraa dhererka dhererka.

[ abc ... ]

liistada dabeecadda, waxay la kulmaan mid ka mid ah jilayaasha abc ....

[^ abc ... ]

liiska dabeecada diidan, waxay la kulmaan dabeecad kasta marka laga reebo abc ....

r1 | r2

isbeddelka: wuxuu ku ciyaaraa r1 ama r2 .

r1r2

isku dhafka: isku aadka r1 , ka dibna r2 .

r +

waxay la mid yihiin hal ama dhowr r .

r *

waxay u dhigtaa eber ama ka badan r .

r ?

wuxuu isku dhigaa eber ama hal r .

( r )

kooxaynta: ciyaaraha r .

r { n }

r { n ,}

r { n , m } Hal ama laba lambarrada gudaha jeexjeexa muujinaya muujin dhexdhexaad ah . Haddii ay jirto hal lambar oo ku yaal qeybaha "trains", celceliska hore ee r ayaa la soo celiyaa marar badan. Haddii ay jiraan laba lambar oo kala-tagaan jamac, r ayaa loo soo celiyaa nada . Haddii uu jiro hal lambar soo raacay jumlad, ka dibna r ayaa lagu celiyaa ugu yaraan n jeer.

Calaamadaha looyaqaanku waa la heli karaa oo kaliya haddii mid ka mid ah - ama -re-interval lagu cayimay xariiqda taliska.

y

waxay isku dhejiyaan xarfaha madhan bilowga ama dhammaadka erayga.

B

waxay isku dhejiyaan xarfo faaruq ah ereyga.

\

wuxuu isku dhejiyaa xaraf furan bilawga ereyga.

.>

waxay isku dhejiyaan xarfaha madhan marka ay dhammaato ereyga.

\ w

wuxuu la mid yahay dabeecad kasta oo erey-erey ah (warqad, lambar, ama hoose).

W

wuxuu la mid yahay dabeecad kasta oo aan ahayn erey-bixiye.

\ "

waxay isku dhejiyaan xarfaha madhan bilowga bilowga (xarig).

"

wuxuu isku dhejiyaa xarafka madhan marka uu dhamaado xirmo.

Qeybaha baxsashada ee saxda ah ee saxda ah ee taagan (eeg hoos) sidoo kale waxay ku shaqeynayaan tibaaxaha joogtada ah.

Fasallada dabeecadda waa qaab cusub oo lagu soo bandhigay heerka POSIX. Fasalka dabeecaddu waa qeexitaan gaar ah oo lagu sharxayo liisaska jilayaasha leh sifo gaar ah, laakiin halka jilayaasha dhabta ahi ay ku kala duwanaan karaan waddanka ilaa iyo / ama astaamaha lagu gooyo astaamaha. Tusaale ahaan, fikradda ah waxa uu yahay dabeecadda asalkoodu ka duwan yahay Maraykanka iyo Faransiiska.

Fasalka dabeecadda waxaa kaliya oo lagu dabaqi karaa iftiinka joogtada ah ee gudaha gadaalaha liiska dabeecadda. Fasallada dabeecadda waxay ka kooban yihiin [: , qodob muhiim ah oo tilmaamaya fasalka, iyo :] . Heerarka astaamaha lagu qeexay heerka POSIX waa:

[: alnum:]

Tilmaamaha alxanka.

[: alpha:]

Alaabooyinka Alphabetic.

[: blank:]

Jilayaasha boosta ama xarafka.

[: cntrl:]

Xakamaynta jilayaasha.

[:god:]

Jilayaasha tirooyinka.

[: graph:]

Calaamadaha labadaba la daabici karo oo la arki karo. (Meel bannaan ayaa la daabici karaa, laakiin aan la arki karin, halka labadaba labadaba.)

[: hoose:]

Tilmaamaha alfabeetada hoose.

[: print:]

Calaamado daabacan (jilayaasha aan xakameynin jilayaasha.)

[: punct:]

Calaamadaha xasilinta (xarfaha aan ahayn warqad, lambarro, jilayaasha xukunka, ama jilayaasha booska).

[: meel:]

Calaamadaha boosaska (sida meel bannaan, tab, iyo foomka, si loo magacaabo dhowr).

[: sare:]

Aqoonsiga alfabeetada sare.

[: xdigit:]

Calaamado ah lambarrada laba geesoodka ah.

Tusaale ahaan, ka hor inta aan la gaarin heerka POSIX, si ay ula socdaan jilayaasha alphanumeric, waxaad ku qasbanaan lahayd inaad qorto / [A-Za-z0-9] / . Haddii astaamahaaga astaamaha ay leeyihiin astaamo kale oo alifliin ah, tanina ma aysan u dhigmin, iyo haddii dabeecadaada ay ka duwan tahay ASCII, tani xitaa ma eegi karto astaamaha ASCII alphanumeric. Iyada oo fasalada POSIX dabeecadaha, waxaad ku qori kartaa / [[: alnum:]] / , tanina waxay la socotaa jilayaasha alifbeedka iyo lambarada lambarkaaga.

Laba ari oo dheeraad ah oo dheeraad ah ayaa laga arki karaa liisaska astaamaha. Kuwani waxay khuseeyaan astaamaha ASCII ee astaamaha, kuwaas oo lahaan kara calaamado hal (oo lagu magacaabo kooxo isku dhafan ) kuwaas oo ka muuqda wax ka badan hal dabeecadood, iyo sidoo kale astaamo dhowr ah oo u dhigma aruurinta , ama kala-soocida, ujeeddooyin. (Tusaale ahaan, Faransiiska, '' e '' iyo 'e' waa 'e ").

Uruurinta Calaamadaha

Astaamaha isku-dhafan ayaa ah qaybta isku dhafan ee isku xiran ee ku dhegan [[. iyo .] . Tusaale ahaan, haddii ay ch yihiin walxaha isku dhafan, ka dibna [[.]] Waa weedho joogta ah oo isku dheelitiran walxahan isku soo uruuriya, halka [ch] waa hadal caadi ah oo la mid ah c ama h .

Fasalada Isku eg

Fasal u dhigma waa magac magac u gaar ah liiska erayada u dhigma. Magaca waxaa lagu dhejiyaa [= iyo =] . Tusaale ahaan, magaca e ayaa loo isticmaali karaa inuu matalo dhammaan 'e', ​​'' `',' 'iyo' e '.' 'Xaaladdan, [[= e =]] waa hadal caadi ah wuxuu la mid yahay e , e ' , ama e' .

Tilmaamyadani waa kuwo aad u qiimo badan oo ku nool meelaha aan Ingiriiska ku hadlin. Maktabaddu waxay u shaqeysaa in gawaarida u isticmaasho xariirka joogtada ah ee joogtada ah ee hadda lagu aqoonsado oo keliya aqoonsiga jimicsiga POSIX ma aqoonsanayaan calaamado isku dhafan ama fasal u dhigma.

" \ , \ B , \ , \ , \ w , \ W , \" , iyo \ ' operator ' waxay gaar u yihiin gawaarida ; Waxay yihiin kordhin ku saleysan xarumaha maktabadaha caadiga ah ee GNU.

Talooyinka xarumaha kala duwan ee xakamaynta ayaa xakamaynaya sida gawkigu u tarjumayo jilayaasha caadooyinka joogtada ah.

Doorasho ma jirto

Xaaladda caadiga ah, gawaarida waxay bixisaa dhamaanba goobaha POSIX joogtada ah iyo tusmooyinka joogtada ah ee GNU ee kor ku xusan. Si kastaba ha noqotee, muujinta dhexdhexaadinta lama taageero.

--posix

Keliya tibaaxa POSIX oo keliya ayaa la taageeraa, kuwa GNU maahan kuwo gaar ah. (Tusaale ahaan, w waa isku mid ah w ). Calaamadaha loo yaqaan 'interval' ayaa loo ogol yahay.

- maareyn

Caadooyinka caadiga ah ee caadiga ah ee caadiga ah ee caadiga ah ayaa la isku dhigmaa. Kuwa ka shaqeeya GNU maahan mid gaar ah, weedho dhexdhexaad ah lama heli karo, mana aha fasallada astaamaha POSIX ( [[: alnum:]] iyo wixii la mid ah). Calaamadaha lagu sharraxayo jadwalka oogada iyo qiyaasaha laba-iyo-tobanlaha ah waxaa laguula dhaqmaa macno ahaan, xitaa haddii ay metelarro muujinayaan tilmaamo joogto ah.

- is-dhaafsi

U oggolow tibaaxaha isbeddelka ee tibaaxaha joogtada ah, xitaa haddii ay tahay in la bixiyo.

Tallaabooyinka

Qoraalka tallaabooyinka waxaa lagu lifaaqaa jaangooyooyin, { iyo } . Bayaannada hawlaha waxay ka kooban yihiin meeleeynta caadiga ah, shuruudaha, iyo erayada loo gudbiyo luuqadaha badankood. Hawl-wadayaasha, warbixinta xakamaynta, iyo waraaqaha wax-soo-saarka / soo-baxa ee la heli karo ayaa loo qoondeeyey ka dib kuwa ku jira C.

Hawlwadeennada

Hawl-wadayaasha AWK, si loo yareeyo mudnaanta koowaad, waa

( ... )

Kooxaynta

$

Tixraaca beesha.

++ -

Kordhinta iyo hoos u dhigista, horey u soo jeedinta iyo dib-u-qaabaynta.

^

Isbedelka ( ** ayaa sidoo kale loo isticmaali karaa, iyo ** = loogu talagalay hawlwadeeninta meelaynta).

+ -!

Unary oo lagu daro, halis ah, iyo diidmo macquul ah.

* /%

Isku dhufashada, kala qaybinta, iyo moduluska.

+ -

Isugeyn iyo kalagoyn.

meel

Isku-dhejinta dhiska.

<>

<=> =

! = == Xirfadlayaasha joogtada ah.

~! ~

Ciyaarta joogtada ah, cayaar aan la diidin. FIIRO GAAR AH: Ha u isticmaalin hadal joogta ah ( / foo / ) joogta ah ee dhinaca bidixda ah ~ ama ! ~ . Kaliya isticmaal dhinaca midig dhinaca midig. Fikradda / foo / ~ exp waxay leedahay micnaha isku midka ah (($ 0 ~ / foo /) ~ exp ) . Tani badanaa ma aha waxa loo ahaa.

gudaha

Xubinimada

&&

IYO caan ah.

||

Maqal Maqal ah.

?:

C ee shuruudaha C. Tani waxay leedahay foomka imtixaanka ? expr2 : expr3 . Haddii expr1 uu yahay run, qiimaha iftiinka waa expr2 , haddii kale waa expr3 . Kaliya mid ka mid ah expr2 iyo expr3 waa la qiimeeyaa.

= + = - =

* = / =% = ^ = Qeybin. Labada meelood ee ku-meel-gaadhka ah ( var = qiimaha ) iyo hawl-gelinta taleefanka (qaababka kale) ayaa la taageerayaa.

Qoraalada Xakamaynta

Bayaanka xukunku waa sida soo socota:

Haddi ( xaalad ) shuruuda ( qoraal ) xaalad ( xaalad ) caddayn ( hadane ) waraaqda ( sheeyada ) bayaanka ku qeexaysaa ( xaalad ) ( expr1 ; expr2 ; expr3 ) hadalada

Warbixinta I / O

Qoraalka soo-jeedinta / soo-baxa waa sidan soo socota:

xir ( faylka [ , sida ] )

Fadhi xarig, tuubo ama wada shaqeyn. Sida ikhtiyaar u ah sida loo isticmaalo oo kaliya marka la xiro hal dhammaadka tuubbo laba dhinac ah si wada jir ah. Waa inay noqotaa qiimo bedel, " mid " ama "laga bilaabo" .

helitaanka

Same $ 0 rikoodhada xiga ee xiga; dhig NF , NR , FNR .

soo dir < faylka

Qoro $ 0 diiwaanka soo socda ee faylka ; dhig NF .

getline var

Halkaan ka samee diiwaanka soo socda; dhigay NR , FNR .

getline var < file

Ka samee diiwaanka soo socda ee faylka .

amar getline [ var ]

Ku amba qaado qoondaynta soo saarida $ 0 ama var , sida kor ku xusan.

Amar | & getline [ var ]

Ku amar sida amar -wada-socodsiinta soo saarida $ 0 ama var , sida kor ku xusan. Nidaamyada wada- shaqeyntu waa jaangooyo .

xigta

Jooji shaqeynta rikoodhada hadda jira. Diiwaanka xiga ee soo socota ayaa la akhriyaa oo la falanqeeyaa wuxuu ku bilaabmaa qaabka ugu horeeya ee barnaamijka AWK. Haddii dhamaadka xogta la soo gaabiyo la gaadho, END (s), haddii ay jiraan, waa la fuliyaa.

xigta

Jooji feylka faylka hadda jira. Diiwaanka gelitaanka xiga wuxuu ka yimaadaa faylalka soo socda. FILENAME iyo ARGIND ayaa la cusbooneysiiyay, FNR waxay dib ugu noqotaa 1, isla markaana waxay ka bilaabantaa habka koowaad ee barnaamijka AWK. Haddii dhamaadka xogta la soo gaabiyo la gaadho, END (s), haddii ay jiraan, waa la fuliyaa.

daabac

Wuxuu daabacaa rikoodhka hadda jira. Diiwaanka laga soo saaro waxaa la joojiyaa qiimaha bedelka ORS .

daabac liistada liiska

Ku dhaji hadalada. Qeexitaan kastaa waxaa loo kala soocaa qiimaha bedelaadda OFS . Diiwaanka laga soo saaro waxaa la joojiyaa qiimaha bedelka ORS .

daabac faahfaahin dheeraad ah > faylka

Ku dhaji tibaaxaha faylka . Qeexitaan kastaa waxaa loo kala soocaa qiimaha bedelaadda OFS . Diiwaanka laga soo saaro waxaa la joojiyaa qiimaha bedelka ORS .

faylka fmt, liistada liiska

Format iyo daabac.

faylka fmt, liiska rikoodhka > faylka

Format oo ku daabac faylka .

nidaamka ( cmd-line )

Samee amarka cmd-line , oo dib ugu soo noqo xaalada. (Tan waxaa laga yaabaa inaan laga helin nidaamyada aan POSIX ahayn.)

fflush ( [ file ] )

Ku duub wixii kufaar ah ee la xidhiidha feylka furan ama feylka . Haddii faylka maqan yahay, ka dib ayaa la soo saaraa. Haddii faylka uu yahay xariijinta null, ka dibna dhammaan faylasha wax soo saarka furan iyo tuubooyinka waxay leeyihiin baalashooda oo la jeexay.

Dib-u-soo-saar dheeraad ah ayaa loo oggol yahay daabacaadda iyo daabacaadda .

daabacaan ... faylka

waxay ku kordhisaa wax soo saarka feylka .

daabacaan ... | amar

waxay ku qoraan tuubo.

daabacaan ... | & amar

waxay u dirtaa xogta wada-hawlgalka.

Amarka helitaanka ayaa ku soo noqda 0 dhamaadka faylka iyo -1 qalad. Marka qalad la galo, ERRNO waxay ka kooban tahay xaraf sharaxaysa dhibaatada.

FIIRO GAAR AH: Haddii aad isticmaasho tuubo ama wada shaqeyn si aad u hesho , ama ka daabacdo ama daabacato wareegga wareegga, waa inaad isticmaashaa () si aad u abuurto duruufo cusub. AWK si toos ah looma xiro tuubooyinka ama wada shaqaynta marka ay soo noqdaan EOF.

Qoraalka daabacan

Noocyada AWK ee qoraalka printf iyo sprintf () (hoos fiiri) ka aqbal qaababka qaabka isbeddelka soo socda:

% c

ASCII dabeecad. Haddii doodda loo adeegsado % c waa tirooyin, waxaa lagu daaweeyaa dabeecad iyo daabacan. Haddii kale, dooddu waxay u egtahay in ay tahay xariiq, iyo dabeecadda kowaad ee xariggaas la daabacay.

% d , % i

Tirada jajab tobanle

% e,% E

Nambarka dhibcood ee qaabka foomka [-] d.dddddde [+ -] dd . Nidaamka % E wuxuu isticmaalaa E halkii e .

% f

Nambarka dhibcaha ee qaabka foomka [-] ddd.dddddd .

% g,% G

Isticmaal % e ama boqolkiiba f , midkasta oo gaaban, oo leh calaamado aan ciriiri lahayn. Foomka % G wuxuu isticmaalaa % E halkii % e .

% o

Lambar aan la shaacin (siddoo kale).

% u Tirada jajab tobanle aan la cayimin (mar labaad, calaamadeeye).

% s

Astaanta astaamaha.

% x,% X

Lambar aan la shaacin (lambar). Foomka % X ayaa isticmaalaya ABCDEF halkii abcdef .

%%

Hal dabaq oo % hal; wax dood ah lama beddelayo.

Xulashada, xuduudaha dheeraadka ah ayaa laga yaabaa inay u dhexeeyaan inta u dhaxaysa % iyo warqadda xakamaynta:

xisaabi $

Isticmaal xarriiqda ' count ' ee halkan marka la eego qaabeynta. Tani waxaa loo yaqaan 'specifying the position' waxaana loogu talagalay isticmaalka qaababka tarjumada ee tarjumada, ma aha qoraalka asalka ah ee barnaamijka AWK. Waa xayiraadda gawaarida .

-

Fikradda waa in laga hadhaa oo laga dhigo mid ku haboon beertiisa.

meel

Isugeynta tirooyinka, horgal qiimihiisu fiican yahay meel banaan, iyo qiimaha taban oo leh calaamad aan ka ahayn.

+

Calaamada dheeraadka ah, oo loo isticmaalo ka hor inta aan wax laga bedelin (eeg hoos), wuxuu sheegayaa inuu had iyo jeer keeno calaamadda isbeddelka tirada, xitaa haddii qaabka loo qaabeynayo uu yahay mid wanaagsan. + Wuxuu ka gudbaa bedelaha bedelka.

#

Isticmaal 'qaab kale' 'warqadaha xakamaynta qaarkood. Wixii % o , u keen eber hore Wixii % x , iyo % X , bixiyaan hogaaminta 0x ama 0X natiijada aan ka soo baxeynin. Wixii % e , % E , iyo % f , natiijadu marwalba waxay ku jirtaa dhibcood. Wixii % g , iyo % G , raadraaca nalalka aan laga saarin natiijada.

0

Hogaamiyaha 0 (eber) wuxuu u shaqeeyaa calanka, taas oo muujinaysa in wax soo saarka waa in lagu buuxiyo eber, halka bannaankiisa. Tani waxay xitaa khuseysaa qaababka wax soo saar la'aanta ah. Calankan kaliya waxay leedahay saameyn marka wareegga garoonka uu ka ballaaran yahay qiimaha la daabaco.

ballaaran

Booska waa in la buuxiyaa ballacan. Booska ayaa sida caadiga ah la buuxiyaa meelaha. Haddii calanka 0 la isticmaalo, waxaa la buuxiyaa eber.

. prec

Nambarka caddaynaya saxda ah in la isticmaalo marka la daabaco. Wixii % e , % E , iyo % f formats, tani waxay qeexaysaa tirada lambarrada aad rabto in lagu daabaco dhinaca midigta jajab tobanle. Wixii % g g , iyo % G formats, wuxuu qeexayaa tirada ugu badan ee lambarrada muhiimka ah. % D , % o , % i , % u , % x , iyo % X , waxaa ku qoran tirada ugu yar ee lambarada si aad u daabacdo. % S , waxay qeexaysaa tirada ugu badan ee jilayaasha ka soo xariiqa xadhigga ah ee la daabacay.

Aqoonsiga ballaaran ee awoodda hawleedka ee habka ANSI C printf () ayaa la taageerayaa. A * meel ka mid ah midabada ballaadhan ama midab-dhaafka ah waxay sababtaa qiimaha ay ka qaadato liiska doodda ee daabacda ama sprintf () . Si aad u isticmaasho qeexidaha ku-meel-gaadhka leh ballaaran oo firfircoon ama sax ah, sii sheeg tirada $ ka dib * qaabka qaabka. Tusaale ahaan, "% 3 $ * 2 $. * 1 $ s" .

Magaca Gaarka ah ee gaarka ah

Markaad sameysid I / O dib-u- diris ama daabacan faylka ama faylka faylka, gawk wuxuu aqoonsadaa faylal gaar ah oo gudaha ah. Faylashaasi waxay u oggolaanayaan helitaanka tusaaleyaal faylasha furan oo laga dhaxlay habka waalidka ee gawkarka (badanaaba qolof). Magacyada feylahan waxaa sidoo kale loo isticmaali karaa khadka taleefanka si loo magacaabo faylasha xogta. Faylasha waa:

/ dev / stdin

Talooyinka caadiga ah.

/ dev / stdout

Soo saarida caadiga ah.

/ dev / stderr

Bixinta qaladka caadiga ah.

/ dev / fd / n

Faylka la xiriira faahfaahinta faylka furan n .

Kuwani waxay si gaar ah faa'iido ugu yihiin fariimaha qaladka ah. Tusaale ahaan:

daabacan "Aad baadigoobtay!" > "/ dev / stderr"

halka aad ubaahantahay inaad isticmaasho

daabacan "Aad baadigoobtay!" | "cat 1> & 2"

Faylasha gaarka ah ee soo socda ayaa loo isticmaali karaa hawlwadeenada & wada-shaqeeyaha si loo abuuro shabakadaha TCP / IP.

/ inet / tcp / lport / fog / rport

Faylka isku - xirka TCP / IP ee dekedda maxaliga ah ee loo diro martida fog ee martigelinta ee ku taal dekedda fog-fog. Isticmaal dekedda 0 si aad u hesho nidaam ka dooro deked.

/ inet / udp / lport / fog / rport

Sidoo kale, laakiin isticmaal UDP / IP halkii TCP / IP.

/ inet / cayriin / lport / rost / rport

Waxaa loo kaydiyaa isticmaalka mustaqbalka.

Faylasha gaarka ah ee kale ayaa bixiya macluumaadka ku saabsan hannaanka gawaarida socodka. Faylashaasi waa kuwo hadda ka hor. Isticmaal xayndaabka PROCINFO si aad u hesho macluumaadka ay bixiyaan. Faylasha waa:

/ dev / pid

Akhrinta faylkan waxay ku noqotaa aqoonsiga habsamida nidaamka xaadirka, marka la eego jajab tobanle, la joojiyay cusub.

/ dev / ppid

Akhrinta faylkan waxay ku noqotaa aqoonsiga nidaamka waalidka ee nidaamka xaadirka ah, marka la eego jajab tobanle, la joojiyay cusub.

/ dev / pgrpid

Akhriska faylka wuxuu soo celiyaa aqoonsiga kooxeed ee geeddi-socodka hadda, marka la tirtiro, la joojiyo cusub.

/ dev / user

Akhrinta faylkaan waxay ku soo noqotaa hal diiwaan oo la joojiyay oo cusub. Beeruhu waa kala duwan yihiin meelaha. $ 1 waa qiimaha habka nidaamka getuid (2), $ 2 waa qiimaha habka nidaamka helitaanka ( $ 2), $ 3 waa qiimaha habka nidaamka gadaal (2), iyo $ 4 waa qiimaha helitaanka (2) wicitaanada nidaamka. Haddii ay jiraan goobo dheeraad ah, waxay yihiin aqoonsi kooxeed oo ay soo celiyaan kooxo (2). Kooxaha kala duwan waxaa laga yaabaa inaan lagu taageerin nidaamyada oo idil.

Functions Numeric

AWK wuxuu leeyahay shaqooyinka xisaabta ee soo socda:

atan2 ( y , x )

Wuxuu soo celiyaa gawaarida y / x ee raadiyaha.

cos ( expr )

Waxay soo celisaa dalxiiska qorraxda , kaas oo ku yaalla shucaaca.

soo qaado ( expr )

Waxqabadka jibbaarada.

int ( expr )

Truncates ilaa integer.

gal ( qiyaas )

Waxqabadka macquulka ah ee macquulka ah.

rand ()

Wuxuu soo celiyaa lambar khaas ah inta u dhaxaysa 0 iyo 1.

dembi ( expr )

Wuxuu soo celiyaa dheecaanka sarreysa , taas oo ku taala ilayska.

sqrt ( expr )

Nidaamka xididka square.

srand ( [ expr ] )

Isticmaalaa sidii abuur cusub oo loogu talagalay generator lambarka khaldan. Haddii aan la soo saarin, waxaa la isticmaali doonaa wakhtiga maalinta. Qiimaha soo noqoshada ayaa ah abuurkii hore ee jaangooyaha tirada.

Functions String

Gawk wuxuu leeyahay shaqooyinka xarfaha ee soo socda:

asort ( s [ , d ] )

Waxay soo celisaa tirada walxaha ku jira jaantuska salka . Waxyaabaha s ayaa lagu kala soocayaa iyadoo la adeegsanayo xeerarka caadiga ah ee gawkada ee isbarbardhigaya qiimaha, iyo calaamadaha qiyamka kala soocida ee s ayaa lagu badalayaa calaamadaha isku xigxigga ah oo laga bilaabo 1. Haddii xayiraadda meesha la doorto ee la cayimay, markaa s waxaa markii hore lagu duubay d , ka dibna d ayaa loo kala soocayaa, isaga oo ka tegaya taxanaha istiraatiijiga ah ee aan isbeddelayn.

gensub ( r , s , h ,, t )

Raadi tilmaanta bartilmaameedka ee ciyaaraha isboortiga. Haddii hagu yahay xaraf ka bilaabma g ama G , ka dibna bedel dhamaan ciyaaraha r ee la s . Haddii kale, h waa lambar tilmaamaya cidda r ka bedeli lahayd. Haddii aan la helin, $ 0 halkii loo isticmaali lahaa. Qoraalka s- beddelka s , taxanaha n , halkaasoo n uu yahay lambar 1 illaa 9, waxaa loo isticmaali karaa in lagu tilmaamo kaliya qoraalka u dhigma n ' Qeybinta \ 0 waxay ka dhigan tahay dhammaan qoraalka isku midka ah, sida astaantiisa & . Si ka duwan sub () iyo gsub () , xarafka la bedelay waxaa loo soo celiyaa natiijada hawsha, iyo xadhigga asalka ah ee asalka ah lama beddelin.

gsub ( r , s [ , t ] )

Qayb kasta oo u dhigma qaabka caadiga ah r ee xarigga t , bedel s ee s , oo soo celi tirada lambarada. Haddii aan la keenin, isticmaal $ 0 . & & Qoraalka beddelka ah waxaa lagu badalayaa qoraalka dhabta ah. Isticmaal \ & si aad u hesho macnaha & . (Tani waa in lagu qoraa "\\ &" ; eeg GAWK: Barnaamijka AWK ee wax ku ool ah si looga wada hadlo falanqaynta buuxda ee xeerarka 'iyo' iyo ' backslashes' ee qoraalka beddelka ah ee sub () , gsub () , iyo gensub () .)

qiyaasta ( s , t )

Waxay soo celisaa taxanaha xarafka t xarigga, ama 0 haddii uusan joogin. (Tani waxay tusineysaa in indices-ka-sheegista astaamaha ay bilaabayaan.)

dhererka ( [ s ] )

Waxay soo celisaa dhererka s s , ama dhererka $ 0 haddii s aan la keenin.

Kulanka ( s , r [ , a ] )

Waxay ku celisaa booska s halkaasoo rinjiga rasmiga ah uu dhaco, ama 0 haddii aanuu joogin, oo wuxuu qeexayaa qiimaha RSTART iyo RLENGTH . Xasuuso in nidaamka is-afgaradka uu la mid yahay sida qofka u shaqeeya. Haddii arrin la bixiyay, waa la nadiifiyey, ka dibna xubnihiisa 1 illaa n waxay ka buuxsameen qaybaha s ee ku habboon isku-dhafka dhigista ee ku habboon ee r . Qeybta 0'ka ah waxaa ku jira qaybta ka mid ah s u dhigmey dhammaan muujinta r ee caadiga ah.

kala tagsan ( s , a [ , r ] )

Waxay kala qaybisaa salka sarkaalka ah ee ku jira rikoorka caadiga ah r , oo soo celiya tirade beeraha. Haddii r la tirtiro, FS waxaa loo isticmaalaa halkii. Qeybta A ayaa marka hore la tirtiray. Kala jaridda isku midka ah waxay u dhaqmaan si isku mid ah layskaga wareegayo, kor lagu sharaxay.

sprintf (fmt , liis-liiska )

Ku dhaji liistada liistada sida fmt , una soo celiso xariiqda soo baxday.

strtonum ( str )

Wuxuu tijaabiyaa str , wuxuuna ku celiyaa qiimaha tirade. Haddii str ay ka bilaabo 0 darajo , strtonum () waxay u maleyneysaa in str uu yahay lambar siddeedle ah. Haddii str ay ka bilaabo 0x ama 0X hogaaminaya, strtonum () waxay u maleyneysaa in str uu yahay lambar laba jibbaar ah.

sub ( r , s [ , t ] )

Sida gsub () , laakiin kaliya iskudarka hoose ee isbeddelka ayaa la beddelayaa.

substr ( s , i [ , n ] )

Waxay soo celisaa inta ugu badan ee n- xayiraadda s ee ka bilowda i . Haddii n la tirtiro, inta kale ee s ayaa loo isticmaalaa.

qulqulatada ( str )

Waxay soo celisaa nuqul ka mid ah xarafka jilicsan, oo leh dhammaan xarfaha sare ee ciraaqa lagu turjumay leyligooda hoose ee kiisaska. Xuruufaha aan alifbeetka ahayn ayaa la iska beddelay.

toupper ( str )

Waxay soo celisaa nuqul ka mid ah xarafka jilicsan, oo leh dhammaan xarfaha hoose ee caanka la turjumay ee u dhiganta dhiggooda sare. Xuruufaha aan alifbeetka ahayn ayaa la iska beddelay.

Wakhtiyada Wakhtiga

Maaddaama mid ka mid ah isticmaalka koowaad ee barnaamijyada AWK ay ka shaqeynayaan faylasha qoraallada kuwaas oo ku jira macluumaadka waqtiga shaabadda, gawaarku wuxuu bixiyaa shaqooyinka soo socda si loo helo dhibcaha waqtiga iyo qaabeynta.

mktime ( datespec )

Ku dhaji jadwalka shahaadada jadwalka isla foomka isku midka ah ee soo noqnoqda systime () . Taariikhaha waa xaraf ah foomka YYYY MM DD HH MM SS [DST] . Waxyaabaha ku jira sarkaalka waa lix ama toddobo lambar oo u dhigma sanadkiiba sanadka oo dhan, oo ka bilaabma 1 illaa 12, maalinta bisha laga bilaabo 1 illaa 31, saacadda maalinta laga bilaabo 0 ilaa 23, daqiiqad 0 ilaa 59, iyo kan labaad ee laga soo bilaabo 0 ilaa 60, iyo calanka dayac tirka iftiinka. Qiimayaasha lambarkan uma baahna in ay ku dhex jiraan meelaha kala duwan ee la cayimay; Tusaale ahaan, saacad ah -1 waxaa loola jeedaa 1 saac kahor badhtamaha. Kalandarka "Gregory" oo asalkiisu ka hooseeyo waa la qabtaa, sanadka 0 sannadkii ka horreeyey 1 iyo sanad-sanad ka horeeya 0. Waqtiga waxaa loo maleynayaa in uu ku yaalo wakhtiga maxalliga ah. Haddii calanka badbaadinta iftiinka qoraxda uu yahay mid wanaagsan, wakhtiga waxaa loo maleynayaa inuu yahay wakhtiga badbaadinta qoraxda; haddii eber, waqtiga loo maleynayo inuu yahay mid caadi ah; iyo haddii uu diidmo (default), mktime () wuxuu isku dayayaa in uu go'aamiyo haddii wakhtiga badbaadinta wakhtiga dayrta uu hirgalayo waqtiga la cayimay. Haddii timpec aysan ku jirin xubno ku filan ama haddii waqtiga natiijada uu ka baxsan yahay, mktime () ku noqo -1.

strftime ( [ format [ , timestamp ]] )

Mawduucyada timestamp sida waafaqsan qaabka qaabka. Waqtiga waqtiga waa inuu ahaadaa mid isku mid ah sida soo noqnoqda systime () . Haddii wakhtigu uu maqan yahay, wakhtigan xaadirka ah ayaa la isticmaalayaa. Haddii qaabka maqan yahay, qaab qoraal ah oo u dhiganta soo saarista taariikhda (1) ayaa la isticmaalaa. Eeg shuruudaha hawsha strftime () ee ANSI C si ay u noqoto qaab isbadal ah oo la heli karo. Naqshadaha guud ee firfircoonida firfircoonida (3) iyo bogga man ee loogu talagalay gowska ; haddii version loo isticmaalo si loo dhiso gawaarida , markaa wixii is bedel ah ee lagu sharraxay bogga ninkaas ayaa diyaar u ah inuu gawraco.

systime ()

Wuxuu soo celiyaa waqtiga iminka ee wakhtiga sida tirada ilbiriqsiyada taniyo Epoch (1970-01-01 00:00:00 UTC ee nidaamyada POSIX).

Hawlaha Qalabka Manipulations

Laga bilaabo wicitaanka 3.1 ee gawaarida , hawlaha waxqabadka ee soo socda ayaa la heli karaa. Waxay ku shaqeeyaan iyagoo badalaya qiimaha dhibcaha ee labajibbaaran ee loo yaqaan 'cams' aan dheerayn , samaynta qaliinka, ka dibna natiijada dib ugu noqoshada barta dusheeda. Shaqaaluhu waa:

iyo ( v1 , v2 )

Ku noqo qorrada iyo qiimaha ay bixiyaan v1 iyo v2 .

Xaqiijin

Ku soo celi xajmiga dhererka ah ee val .

lshift ( val , tirin )

Ku soo celi qiimaha milanka , ku wareegsan bidix adigoo tirinaya xabbadood.

ama ( v1 , v2 )

Ku soo celi dhididka OR ee qiimaha ay bixiyaan v1 iyo v2 .

rshift ( val , tirin )

Ku soo celi qiimaha milanka , ku wareegsan midigta adoo tirinaya xabbado.

xor ( v1 , v2 )

Ku soo celi dharka XOR ee qiimaha ay bixiyaan v1 iyo v2 .

Functions of Internationalization

Laga bilaabo nambarka 3.1 ee gawaarida , hawlaha soo socda ayaa laga yaabaa in laga isticmaalo barnaamijkaaga AWK ee loogu talagalay turjumidda ereyada waqti go'an. Faahfaahin buuxda, arag GAWK: Barnaamijka waxtarka leh ee AWK .

bindtextdomain (buug [ , domain ] )

Waxay tilmaamaysaa diiwaanka gawaarida u eegayo faylasha .mo , haddii aysan jirin ama aan la gelin karin 'heerarka' '(tusaale ahaan, inta lagu jiro baaritaanka). Waxay ku soo noqotaa diiwaanka meesha uu yahay 'ku xiran'.

Domain default waa qiimaha TEXTDOMAIN . Haddii buuggu yahay nambarka null ( "" ), ka dibna bindtextdomain () wuxuu ku soo celinayaa xiritaanka xaadirka ah ee domainka la bixiyey.

dcgettext ( xarfaha [ , domain [ , category ]] )

Waxay soo celisaa tarjumaadda xarafka ee domainka domainka ee qaybta category qaybta . Qiimaha caadiga ah ee domainka waa qiimaha hadda ee TEXTDOMAIN . Qiimaha caadiga ah ee qaybta waa "LC_MESSAGES" .

Haddii aad bixiso qiimaha qaybta , waa inay ahaataa mid la mid ah mid ka mid ah qaybaha la yaqaan ee maxaliga ah ee lagu qeexay GAWK: Barnaamijka Waxtarka leh ee AWK . Waa inaad sidoo kale siisaa qoraalka qoraalka ah. Isticmaal TEXTDOMAIN haddii aad rabto inaad isticmaasho domainka hadda.

dcngettext ( string1 , string2 , number [ , domain [ , category ]] )

Waxay soo celisaa qaabka jamac ah ee loo isticmaalo tirada tarjumaadda string1 iyo string2 ee domainka domainka ee qaybta category qaybta . Qiimaha caadiga ah ee domainka waa qiimaha hadda ee TEXTDOMAIN . Qiimaha caadiga ah ee qaybta waa "LC_MESSAGES" .

Haddii aad bixiso qiimaha qaybta , waa inay ahaataa mid la mid ah mid ka mid ah qaybaha la yaqaan ee maxaliga ah ee lagu qeexay GAWK: Barnaamijka Waxtarka leh ee AWK . Waa inaad sidoo kale siisaa qoraalka qoraalka ah. Isticmaal TEXTDOMAIN haddii aad rabto inaad isticmaasho domainka hadda.

FARSAMADA QOFKA QIIMEYNTA

Shaqooyinka AWK waxaa lagu qeexay sida soo socota:

magaca shaqada ( liiska calaamadaha ) { statements }

Hawlaha waxaa lagu fuliyaa marka lagu soo waco astaamaha dhexdooda qaababka ama ficilada. Xaqiiqooyinka dhabta ah ee lagu bixiyo wicitaanada shaqada ayaa loo adeegsadaa si loo xaqiijiyo xuduudaha rasmiga ah ee lagu dhawaaqay hawsha. Arrimaha waxaa loo gudbiyaa tixraaca, isbeddelada kale waxaa lagu gudbiyaa qiime.

Maadaama shaqooyinka aan hore loo ahaan laheyn luuqada AWK, bixinta isbeddelka maxaliga ahi waa mid isku dhejisan: Waxaa lagu dhawaaqaa inay yihiin siyaabo dheeraad ah oo ku jira liiska xulashada. Heshiiska ayaa ah in la kala saaro doorsoomayaasha maxaliga ah xuduudaha dhabta ah meelaha bannaan oo dheeraad ah ee liiska xulashada. Tusaale ahaan:

F (p, q, a, b) # a iyo b waa maxaliga ah {...} / abc / {...; f (1, 2); ...}

Wajiga bidix ee wicitaan ficil ayaa looga baahan yahay in isla markiiba la raaco magaca shaqada, iyada oo aan lahayn meel bannaan oo fara badan. Tani waa inaad ka fogaato marin-u-dhigista macmiilka. Xayiraaddani ma khusayso hawlaha dhismaha ee kor ku xusan.

Hawlwadeenada ayaa isku wici kara oo waxay noqon karaan kuwo dib u soocelin kara. Xuduudaha hawlaha loo adeegsado sida doorsoomayaasha maxalliga ah ayaa la bilaabi doonaa xarafka nulliga iyo lambarka eber marka la soo waco.

Isticmaal sicir- celinta dib- u-celinta si aad uga soo celiso qiime ka socota hawl. Qiimaha soo noqoshada lama garanayo haddii aan wax qiime ah la bixin, ama haddii uu shaqadu ku soo noqoto 'hoos u dhac'.

Haddii -lint la siiyay, boodhku wuxuu ka digayaa wicitaanada shaqooyinka aan qarsoodi ahayn waqtiga wakhti go'an, halkii wakhtigu socdo. U yeedhida wax aan qarsoodi lahayn waqtiga wakhti waa qalad halis ah.

Ereyga func waxaa loo isticmaali karaa meel ficil ah .

WAXYAABAHA WAXYAABAHA LAGA HELI KARO FASAXIYADEED

Laga bilaabo version 3.1 ee gawaarida , waxaad si firfircoon uga dhigi kartaa shaqooyin cusub oo la dhisay oo loogu talagalay turjubaanka daba socda. Faahfaahin buuxda ayaa ka baxsan baaxadda bogga buuggan; eeg GAWK: Barnaamijka waxtarka leh ee AWK ee faahfaahinta.

dheereyn ( shay , shaqo )

Si caddaalad ah u xiro faylka shay la wadaago ee lagu magacaabo shayga , oo kuugu yeerayo ficilka shaygaas, si uu u guto bilowga. Kuwani waa in labadaba la siiyaa sida xariiqda. Waxay soo celisaa qiimaha lagu soo celiyay shaqada .

Farsamadan waxaa la siiyaa oo lagu diiwaan geliyaa GAWK: Barnaamijka wax ku oolka ah ee AWK , laakiin wax kasta oo ku saabsan qaabkan waxay u badantahay in ay isbeddelaan sii deynta soo socda. Waxaan si xoogan kugula talineynaa inaadan u isticmaalin mawduucan waxkasta oo aadan rabin inaad dib u soo celiso.

SIGNALS

pgawk wuxuu aqbalaa laba calaamadood. SIGUSR1 waxay u keentaa inay ku dhufato nuqul faahfaahin ah iyo fariin qaylo ah oo ku saabsan feylka faylka, kaas oo ah midkoodna awkprof.out , ama faylka kasta oo lagu magacaabo ikhtiyaarka - doorashada. Kadibna wuxuu sii wadaa inuu ordo. SIGHUP waxay u keentaa inay daadineyso naqshadeynta iyo adeegga shaqada oo ka baxsan.

Tusaalooyin

Daabac iyo kala sooc magaca magacyada dhammaan isticmaalayaasha: BEGIN {FS = ":"} {print $ 1 | "sort sort"} Tirinta khadadka faylka: {nlines ++} END {print nlines} Ku dhaji xariiq kasta lambarkiisa feylka: {print FNR, $ 0} Heshiiska iyo lambarka xariiqa (kala duwanaanta mawduuc): {print NR, $ 0}

Gudaha

Sababaha xarriiqa ah waa taxanaha jaantusyada kuxiran labadaba. Meelaha aan Ingiriisiga ku hadlin, waxaa suurtagal ah in la calaamadiyo xarriiqda barnaamijka AWK sida looga baahan yahay tarjumaad luuqadda dabiiciga ah. Noocyada noocan oo kale ah ayaa lagu calaamadeeyaa barnaamijka AWK oo leh darajo hoose ('_ _'). Tusaale ahaan,

Dood-dhaliye 'BEGIN {daabac "hello, dunida"}'

had iyo jeer wuxuu soo saaraa hello, adduunka . Laakiin,

BARNAAMIJKA "print" "hello, dunida"} '

waxaa laga yaabaa inay daabacdo bonjour, monde ee France.

Waxaa jira talaabooyin dhowr ah oo ku lug leh soo saarida iyo la socodka barnaamijka AWK ee degaanka ah.

1.

Ku dar ficil BEGIN si aad ugu qoondayso qiimaha TEXTDOMAIN si aad u qorto mawduuca qoraalka ah ee la xiriira barnaamijkaaga.


BEGIN {TEXTDOMAIN = "myprog"}

Tani waxay u oggolaaneysaa gawaar si uu u helo faylka .mo ee la xidhiidha barnaamijkaaga. Tallaabadani, gawaariddu waxay isticmaashaa farriimaha qoraalka, taas oo dhici karta inaysan ku jirin tarjumaadda barnaamijkaaga.

2.

Ku calaamadee ereyada loo baahan yahay in lagu turjumo horey u soo jeedineysa.

3.

Haddii loo baahdo, isticmaal dcgettext () iyo / ama bindtextdomain () ee barnaamijkaaga, sida ku habboon.

4.

Ku dhaji gawkarka - liiska-po -f myprog.awk> myprog.po si aad u abuurto faylka .po ee barnaamijkaaga.

5.

Bixinta tarjumada ku haboon, dhisi iyo rakibaan faylka ku haboon .mo .

Noocyada caalamiga ah waxaa lagu sharaxay faahfaahin buuxda GAWK: Barnaamijka waxtarka leh ee AWK .

Isku-duwashada Posix

Himilada aasaasiga ah ee gawaarida waa mid la mid ah jaangooyada POSIX, iyo sidoo kale qaybta ugu dambeysa ee UNIX. Dhammaadka arrimahan, gawaarida waxay ku dareysaa isticmaalaha soo socda ee muuqaalada muuqata ee aan lagu sharxin buugga AWK, laakiin waxay qayb ka yihiin shaandhada Bell Laboratories, oo waxay ku jiraan heerka POSIX.

Buuggu wuxuu tilmaamayaa in qandaraasyada isbeddelka is-beddelka ah ay dhacaan marka awk ay fureen doodda faylka, taas oo ah ka dib markii BEGIN- ka la fuliyo. Si kastaba ha noqotee, hirgelintii hore, marka howlaha noocan oo kale ah ay soo muuqdaan ka hor inta feyl kasta oo fayl ah, shaqada ayaa dhici doonta kahor inta aysan BEGIN xayirin . Codsiyada ayaa ku yimid inay ku xiran yihiin 'tan'. '' Markii la bedelay si loo dhigo dukumiintigeeda, doorka -v oo lagu beddelayo doorsoomayaal ka hor inta aan barnaamijka lagu darin si loo dejiyo codsiyada ku xiran dabeecada hore. (Qaabkan wuxuu isku raacay labadaba Lab Laboratories iyo horumarinta GNU labadaba.)

Doorashada -W xulashada hirgelinta gaarka ah waxay ka timid heerka POSIX.

Marka falanqaynta doodda, gawaaridu waxay adeegsataa ikhtiyaarka gaarka ah '`-' 'si ay u muujiyaan dhamaadka doodaha. Marka la eego habka isdhexgalka, waxay ka digaysaa oo ku saabsan, laakiin si kale waa iska indha tirtaa fursadaha aan qeexanayn. Hawlgallada caadiga ah, doodahaas waxaa loo gudbiyaa barnaamijka AWK si loogu hawlgalo.

Buugga AWK ma qeexayo qiimaha celceliska ee srand () . Heerka POSIX waxay ku soo celinaysaa abuurkii uu isticmaalayay, si loo oggolaado in la ilaaliyo tirooyinka kala duwan ee tirada. Sidaa daraadeed, srand () ee gawaarida ayaa sidoo kale soo celisa abuurkiisa hadda.

Tilmaamo kale oo cusub ayaa ah: Isticmaalka fursado badan -f (laga bilaabo MKS awk ); jaantuska ENVIRON ; a , iyo \ v Calaamadaha baxsiga (oo markii hore laga sameeyay gawaarida iyo dib loo soo celiyay naqshadeynta sheybaarada Bell); farsamooyinka () iyo toupper () ee dhismaha-ka shaqeeya (laga bilaabo daabicada Bell Laboratories); iyo istiraatiijiyada ANSI-C ee daabacaadda ee daabacan (daabacan marka la eego qaybta Bell Laboratories).

Tilmaamaha Taariikhda

Waxaa jira laba muuqaal oo ah taariikhda AWK oo ah in gawk ay taageerto. Ugu horreyn, waxaa suurtagal ah in la soo waco dhererka () dhismaha oo aan ahayn keliya dood la'aan, laakiin xitaa iyada oo aan kaararka! Sidaa darteed,

a = dhererka # Algol Quduuska ah 60, Batman!

wuxuu la mid yahay labada midkood

a = dherer ()
a = dhererka ($ 0)

Qalabkan waxaa lagu calaamadeeyey '' '' '' '' '' '' '' '' '' '' '' '' 'POSIX standard,' iyo ' glawk' waxay soo saartaa digniin ku saabsan isticmaalka haddii --lintu ku qoran tahay xariiqda taliska.

Muuqaalka kale waa isticmaalka labada midkood ama sii wadista jebinta ka baxsan jirkaaga mudo ah , ama, ama loo wareego. Hawlaha AWK ee dhaqameedka ah waxay daaweeyeen adeegyadan oo u dhigma bayaankan soo socda . Gawk wuxuu taageersan yahay isticmaalka haddii:

Kordhinta GNU

Gawk waxay leedahay tiro fara badan oo loo yaqaan POSIX. Waxay ku qeexan yihiin qaybtan. Dhammaan kordhinta halkan lagu sharraxay waxay noqon kartaa mid curyaan ah iyadoo lagu xayirayo gawaarida doorashooyinka kala duwan.

Qaababka soo socda ee cayayaanka laguma heli karo POSIX.

*

Ma jirto raadinta waddo loogu talagalay faylasha lagu magacaabay adoo adeegsanaya -f doorasho. Sidaa daraadeed isbedelka cimilada AWKPATH ma aha mid gaar ah.

*

Qeybta ka baxsashada. (Naafo ah - byix .)

*

Function fflush () . (Naafo ah - byix .)

*

Kartida aad ku sii wadi karto xariijinta ka dib ? iyo :. (Naafo ah - byix .)

*

Dayctirka Toban iyo Tobanaad ee barnaamijyada AWK.

*

Isbedelada ARGIND , BINMODE , ERRNO , LINT , RT iyo TEXTDOMAIN maaha mid gaar ah.

*

Isbedelka IGNORECASE iyo saameynteeda dhinaca kale lama heli karo.

*

Isbedelka FIELDWIDTHS ee isbeddelka iyo xajmiga ballaaran ee ballaaran.

*

Qalabka PROCINFO lama heli karo.

*

Isticmaalka RS sida bandhig joogto ah.

*

Magacyada feylka gaarka ah ee loo heli karo dib-u-dirista I / O lama yaqaan.

*

| & Shaqaaleysiiyaha abuurista wada-shaqayn.

*

Awoodda lagu kala saari karo jilayaasha shakhsiga iyadoo la adeegsanayo xarafka null sida qiimaha FS , iyo sida doodda saddexaad ee kala-qaybinta () .

*

Doodda labaad ee ikhtiyaari ah ee hawlgalka dhow () .

*

Doodka saddexaad ee ikhtiyaariga ah ee ku habboon ciyaarta () .

*

Awoodda lagu isticmaalo qeexida xayeysiinta ee daabacan iyo daabacaadda (sprintf) .

*

Isticmaalida arrin tirtiris si aad u tirtirto waxyaabaha ku jira oo dhan.

*

Isticmaalka xiga xigta si uu uga tago farsamaynta faylalka hadda la joogo.

*

Muuqaalka (iyo) , buntetextdomain () , calaamada () , dcgettext () , gensub () , lshift () , mktime () , ama () , rshift () , strftime () , strtonum () , systime () iyo xor () .

*

Meelaha la dego

*

Ku darida hawlaha cusub ee dhismaha ee si habsami ah leh hawsha extension () .

Buugga AWK ma qeexayo qiimaha soo noqnoqda ee () . Gawk 's close () wuxuu ka soo celiyaa qiimaha laga soocay (3), ama pcose (3), marka la xirayo feylka wax soo saarka ama tuubooyinka, siday u kala horreeyaan. Waxay ku soo noqotaa xaalka marxaladda ka-baxida goorta la xirayo tuubo talaajadeed. Qiimaha soo noqoshada waa -1 haddii faylka la magacaabay, tuubada ama wada-shaqaynta aan la furin dib-u-furid.

Marka gawaarida la soo waco kala doorasho-doorasho, haddii fs doodda ah -F doorasho waa 't' ', ka dibna FS ayaa lagu qoraa dabeecada tabka. Ogsoonow in gawaarida cufan -F / t ... waxay keenaysaa qolofka inay ku soo xigto 't', oo aan dhaafin '' t '' doorasho -F . Maaddaama tani ay tahay kiis gaar ah oo fool-xun, ma aha anshaxa aasaasiga ah. Habdhaqankani sidoo kale ma dhicin - - waaix waa la cayimay. Si aad dhab ahaantii u hesho dabeecada tabka ah sida kala-saaraha beereedka, waxaa ugu wanaagsan in la isticmaalo qaddiyadaha kelidii ah : gawk -F 't' ....

Eeg amarrada kale : sug , lp , dhamaystiraan , soo noqnoqda , garsoorka , garsoorka , garsoorka , rikoodhka , rikoodhka , shaaha , at , yaa , iwconfig , ifconfig , vgdisplay , fur , lsmod , ntohs , mailq , dil , wtmp