Foghlaim an Ordú Linux - gawk

Ainm

gawk - scanadh patrún agus teanga a phróiseáil

Achoimre

gawk [Roghanna stíl POSIX nó GNU] -f clár-comhad [ - ] comhad ...
gawk [Roghanna stíl POSIX nó GNU] [ - ] comhad téacs clár ...

pgawk [Roghanna stíl POSIX nó GNU] -f clár-comhad [ - ] comhad ...
pgawk [Roghanna stíl POSIX nó GNU] [ - ] comhad téacs clár ...

Cur síos

Is é Gawk cur i bhfeidhm an Tionscadail GNU ar theanga cláir AWK. Cloíonn sé leis an sainmhíniú ar an teanga sa POSIX 1003.2 Teanga Ordúcháin agus Caighdeán Fóntais. Tá an leagan seo ar a seal bunaithe ar an gcur i dTeanga Cláir AWK , ag Aho, Kernighan, agus Weinberger, agus na gnéithe breise a fhaightear sa leagan Córas V Scaoileadh 4 de UNIX awk . Cuireann Gawk síneadh breise le Bell Laboratories níos déanaí, agus roinnt síntí GNU-shonracha.

Is é Pgawk an leagan próifílithe de gawk . Tá sé comhionann i ngach bealach le gawk , ach amháin go reáchtálann na cláir níos moille, agus táirgeann sé próifíl forghníomhaithe go huathoibríoch sa chomhad awkprof.out nuair a dhéantar é. Féach an rogha --profile , thíos.

Is éard atá sa líne orduithe roghanna le gawk féin, téacs an chláir AWK (más rud é nach soláthraítear trí roghanna -f--file ), agus luachanna le cur ar fáil sna athróg AWK réamh-shainithe ARGV agus ARGV .

Formáid Rogha

Is féidir go mbeadh roghanna gairid POSIX traidisiúnta amháin, nó roghanna fada stíl GNU ar roghanna Gawk. Tosaíonn roghanna POSIX le `` - 'amháin, agus tosaíonn roghanna fada le `` -' '. Cuirtear roghanna fada ar fáil do ghnéithe GNU-shonracha agus do ghnéithe sainordaithe POSIX.

Tar éis caighdeán POSIX, soláthraítear roghanna gawk -speisialta trí argóintí go dtí an rogha -W . Is féidir roghanna Il -W a sholáthar Tá rogha fada comhfhreagrach ag gach rogha -W , mar atá sonraithe thíos. Ceanglaíonn argóintí le roghanna fada leis an rogha trí = comhartha, gan spásanna idirghabhála, nó féadfar iad a chur ar fáil sa chéad argóint ordaithe eile. Féadfar roghanna fada a ghiorrú, chomh fada is atá an giorrúchán ar leith.

Roghanna

Glacann Gawk na roghanna seo a leanas, atá liostaithe in aibítre.

-F fs

- scaradh-pháirc fs Bain úsáid as fs don scaradh iontrála (luach an athróg réamhshainithe FS ).

-v var = val

--assign var = val Cuir an luach val leis an athróg var , sula dtosaíonn forghníomhú an chláir. Tá luachanna athraitheacha den sórt sin ar fáil do bhloc BEGIN de chlár AWK.

-f clár-comhad

- file file-file Léigh an fhoinse clár AWK ón gcomhad clár-comhaid , seachas an chéad argóint líne ordaithe. Is féidir roghanna Il -f (nó --file ) a úsáid.

-mf NNN

-mr NNN Socraigh teorainneacha cuimhne éagsúla don luach NNN . Leagann an bhratach f an líon uasta réimsí, agus leagann an bratach an uasmhéid taifead. Tá an dá bhratach seo agus an rogha -m ón leagan taighde Bell Laboratories de UNIX awk . Tugann an gawk neamhaird dóibh, ós rud é nach bhfuil teorainneacha réamh-shainithe ag gawk .

-W compat

-W traidisiúnta

--compat

- Rithréitiúil Rith i mód comhoiriúnachta . I mód comhoiriúnachta, déanann gawk féin go gníomhach le UNIX awk ; ní aithnítear aon cheann de na síntí GNU-shonracha. Is fearr an úsáid a bhaint as - traidisiúnta thar na cineálacha eile den rogha seo. Féach GNU EXTENSIONS , thíos, le haghaidh tuilleadh eolais.

-W copyleft

-B cóipcheart

--copyleft

--copyright Clóigh an leagan gearr den teachtaireacht faisnéise cóipchirt GNU ar an aschur caighdeánach agus scoir amach go rathúil.

-W dump-athróg [ = comhad ]

--dump-variables [ = comhad ] Priontáil liosta sórtáilte de na hathróga domhanda, a gcineálacha agus na luachanna deiridh le comhad . Mura gcuirtear aon chomhad ar fáil, úsáideann gawk comhad awkvars.out ainmnithe sa chomhadlann reatha.

Is bealach maith é le liosta de na hathróga domhanda go léir chun earráidí clóghrafacha a lorg i do chláir. Úsáidfeá an rogha seo freisin má tá clár mór agat le go leor feidhmeanna, agus ba mhaith leat a bheith cinnte nach n-úsáideann na feidhmeanna athróga domhanda go neamhfhreagrach a bhí i gceist agat a bheith áitiúil. (Is botún an-éasca é seo a dhéanamh le hainmneacha athróg simplí cosúil le i , j , agus mar sin de.)

-B cabhrú leat

-W úsáid

--cabhrú

--usage Cruthaigh achoimre réasúnta gearr ar na roghanna atá ar fáil ar an aschur caighdeánach. (De réir na gCaighdeán Codála GNU , cuireann na roghanna seo slí amach láithreach, rathúil).

-W lint [ = marfach ]

--lint [ = marfach ] Rabhadh a sholáthar maidir le foirgnimh atá amhrasach nó neamh-iniompartha le cur i bhfeidhm otherAWK. Le argóint roghnach de rabhaidh fabhtálacha marbh , bíonn fabhtanna marbh ann. D'fhéadfadh sé seo a bheith drasta, ach cinnteoidh sé go spreagfaí forbairt cláir AWK níos glaine.

-B lint-old

--lint-old Rabhadh a sholáthar maidir le tógálacha nach bhfuil iniompartha leis an leagan bunaidh de Unix awk .

-W gen-po

--gen-po Scanadh agus déan an clár AWK a pháirceáil, agus comhad formáid GNU .po a ghiniúint ar aschur caighdeánach le hiontrálacha le haghaidh gach teaghráin inathraithe sa chlár. Ní dhéantar an clár féin a fhorghníomhú. Féach an dáileadh GNT gettext le haghaidh tuilleadh faisnéise ar chomhaid .po .

-W neamh-deachúil-sonraí

--non-decimal-data Luachanna octal agus heicteamach a aithint i sonraí ionchuir. Bain úsáid as an rogha seo le rabhadh mór!

-W posix

--posix Casann sé seo ar mhodh comhoiriúnachta , leis na srianta breise seo a leanas:

*

\ n aithnítear sraitheanna éalaithe.

*

Bíonn spás agus cluaisín amháin mar ghníomhaithe deighilteoirí réimse nuair atá FS leagtha amach i spás amháin, ní bhíonn líne nua.

*

Ní féidir leat leanúint ar aghaidh línte ? agus :.

*

Ní aithnítear an func synonym don fheidhm eochairfhocal.

*

Ní féidir na hoibreoirí ** agus ** = a úsáid in áit ^ and ^ = .

*

Níl an fheidhm fflush () ar fáil.

-W próifíl [ = prof_file ]

--profile [ = prof_file ] Seol sonraí próifílithe chuig prof_file . Is é an réamhshocraithe awkprof.out . Nuair a reáchtáiltear le gawk , is é an próifíl ach leagan `` deaschlóite '' den chlár. Nuair a reáchtáiltear le pgawk , tá cuntais fhorghníomhaithe gach próifíl sa chlár sa phróifíl sa chorrlach chlé agus ar na cuntais ghlao feidhm do gach feidhm atá sainmhínithe ag an úsáideoir.

-B ath-eatramh

- idir-eatramh Cumasaigh úsáid a bhaint as abairtí eatramhacha i gcomparáid le húsáid rialta (féach Léirithe Rialta , thíos). Ní raibh sainráiteanna idirghabhála ar fáil go traidisiúnta sa teanga AWK. Chuir an caighdeán POSIX iad, a dhéanamh go héasca agus a bhí i gcomhréir le chéile. Is dócha go mbainfeadh a n-úsáid cláir d'AWK d'aois, áfach, mar sin soláthraíonn gawk dóibh má iarrtar orthu leis an rogha seo, nó nuair a shonraítear --posix .

-W foinse clár-téacs

--source program-text Úsáid téacs cláir mar chód foinse clár AWK. Ceadaíonn an rogha seo na feidhmeanna leabharlainne a idirghabháil go héasca (a úsáidtear trí na roghanna -f agus --file roghanna) leis an gcód foinse a chuirtear isteach ar an líne ordaithe. Tá sé beartaithe go príomha do chláir AWK meánmhéide a úsáidtear i scripteanna bhlaosc.

-B leagan

--version Eolas faoi leagan amach priontála don chóip seo den gawk ar an aschur caighdeánach. Tá sé seo úsáideach go príomha le fios a bheith agat má tá an cóip reatha den ghaeilge ar do chóras cothrom le dáta maidir le cibé an bhfuil an Fhoras Bogearraí Saor in Aisce á dháileadh. Tá sé seo úsáideach freisin nuair a bhíonn bugs á thuairisciú. (De réir na gCaighdeán Codála GNU , cuireann na roghanna seo slí amach láithreach, rathúil).

- Comharthaigh deireadh na roghanna. Tá sé seo úsáideach chun tuilleadh argóintí a cheadú don chlár AWK féin chun tús a chur le `` - ''. Is éard atá i gceist leis seo go comhsheasmhacht den chuid is mó leis an argóint idirbheartaíochta a úsáideann an chuid is mó de chláir POSIX eile.

I mód comhoiriúnachta, tá aon roghanna eile léirithe mar neamhbhailí, ach déantar neamhaird orthu ar shlí eile. I ngnáthoibriú, chomh fada agus a sholáthraítear téacs an chláir, cuirtear roghanna anaithnid ar aghaidh chuig an gclár AWK sa ghréasán ARGV le haghaidh próiseála. Tá sé seo úsáideach go háirithe chun cláir AWK a reáchtáil tríd an meicníocht ateangaire inrite `` #! ''.

MEASÚNÚ AN CLÁR AWK

Is éard atá i gclár AWK seicheamh de ráitis ghníomhaíochta patrún agus de shainmhínithe feidhm roghnach.

patrún { ráitis ghníomhaíochta }

ainm feidhm ( liosta paraiméadar ) { ráitis }

Léann Gawk foinse an chláir den chéad comhad (í) cláir má shonraítear é, ó argóintí go dtí - ar fáil , nó ón gcéad argóint neamh-rogha ar an líne ordaithe. Is féidir na roghanna -f agus --source a úsáid arís agus arís eile ar an líne ordaithe. Léann Gawk téacs an chláir amhail is dá mbeadh na téacsanna foinse ar líne comhaid agus comhaid cláir curtha le chéile. Tá sé seo úsáideach le leabharlanna leabharlanna AWK a thógáil, gan iad a chur san áireamh i ngach clár nua AWK a úsáideann iad. Soláthraíonn sé freisin an cumas chun feidhmeanna leabharlainne a mheascadh le cláir líne ordaithe.

Sonraíonn an athróg timpeallachta AWKPATH cosán cuardaigh le húsáid nuair a aimsítear comhaid foinse ainmnithe leis an rogha -f . Mura bhfuil an t-athróg seo ann, is é an bealach réamhshocraithe ".: / Usr / local / share / awk" . (Féadfaidh an t-eolaire iarbhír a bheith éagsúil, ag brath ar an gcaoi a tógadh agus a shuiteáil an gawk .) Má tá carachtar `` / '' san ainm comhad a thugtar don rogha -f , ní dhéantar aon chuardach ar chonair.

Déanann Gawk cláir AWK a fhorghníomhú san ord seo a leanas. Gcéad dul síos, déantar gach tasc athraitheach atá sonraithe tríd an rogha -v a dhéanamh. Ansin, cuireann gawk an clár ar fhoirm inmheánach. Ansin, déanann gawk an cód sa bloc BEGIN (más ann) a fhorghníomhú, agus fáltais ansin chun gach comhad a ainmnítear san eagar ARGV a léamh. Mura bhfuil aon chomhaid ainmnithe ar an líne ordaithe, léann gawk an ionchur caighdeánach.

Má tá an t-ainm var = val ina ainm comhaid ar an líne orduithe déileálfar leis mar sannadh athraitheach. Sannfar an luach val don athróg var . (Tarlaíonn sé seo tar éis aon fhacáiste BEGIN a reáchtáil.) Tá sannadh athróg líne rialaithe an-úsáideach chun luachanna a shannadh go dinimiciúil leis na hathróga a úsáideann AWK chun rialú a dhéanamh ar an gcaoi a bhriseann an ionchur i réimsí agus i dtaifid. Tá sé úsáideach freisin chun rialú a dhéanamh ar an stát má tá gá le heilimintí iomadúla thar aon chomhad sonraí amháin.

Má tá luach eilimint áirithe ARGV folamh ( "" ), scaiptear gawk os a chionn.

I gcás gach taifead san ionchur, tástálacha gawk le feiceáil an bhfuil sé ag teacht le haon patrún sa chlár AWK. I gcás gach patrún a luíonn an taifead, déantar an gníomh a bhaineann le chéile a fhorghníomhú. Déantar tástáil ar na patrúin san ord a dtarlaíonn siad sa chlár.

Mar fhocal scoir, tar éis an t-ionchur go léir a ídiú, déanann gawk an cód sa bloc / na blianta END (más ann) a fhorghníomhú.

Athróg, Taifid, agus Réimsí

Tá athróg AWK dinimiciúil; tháinig siad i bhfeidhm nuair a úsáidtear iad ar dtús. Is iad na luachanna ná uimhreacha nó sreangphointí snámhphointe, nó iad araon, ag brath ar an gcaoi a n-úsáidtear iad. Tá foraoiseanna tríthoiseach amháin ag AWK freisin; is féidir insamhaltaí a dhéanamh ar fhiaraí le gnéithe éagsúla. Socraítear roinnt athróg réamhshainithe mar a ritheann clár; Déanfar cur síos orthu seo de réir mar is gá agus déanfar achoimre orthu thíos.

Taifid

De ghnáth, déantar taifid a scartha le carachtair nualíne. Is féidir leat rialú a dhéanamh ar an gcaoi a ndéantar taifid a scartha trí luachanna a shannadh don RS athróg tógtha. Más rud é aon carachtar amháin RS , déanann an carachtar sin taifid a scaipeadh. Seachas sin, is léiriú rialta é RS . Déanann an téacs san ionchur a thagann leis an léiriú rialta seo an taifead. Mar sin féin, i mód comhoiriúnachta, ní úsáidtear ach an chéad charachtar dá luach teaghrán le haghaidh taifid a scaradh. Má tá RS leagtha síos ar an teaghrán null, ansin déanfar na taifid a scartha le línte bán. Nuair a shocraítear RS ar an teaghrán níocháin, gníomhóidh an carachtar nualíne mar scaradhoir réimse i gcónaí, chomh maith le cibé luach is féidir a bheith ag FS .

Páirceanna

De réir mar a léitear gach taifead ionchuir, cuireann gawk an taifead i réimsí , ag baint úsáide as luach an athróg FS mar an scaradh scaire. Más carachtar amháin é FS , déantar réimsí a scartha leis an gcarachtar sin. Más é FS an teaghrán níocháin, déantar gach carachtar aonair a bheith ina réimse ar leithligh. Seachas sin, táthar ag súil go mbeidh FS léiriú go hiomlán rialta. Sa chás speisialta gur spás amháin é FS , déantar réimsí a scartha le ritheanna spásanna agus / nó cluaisíní agus / nó línte nua. (Ach féach an plé ar --posix , thíos). TABHAIR FAOI DEARA: Bíonn tionchar ag luach IGNORECASE (féach thíos) freisin ar an gcaoi a roinntear réimsí nuair is léiriú rialta é FS , agus an chaoi a ndéantar taifid a scartha nuair a léiríonn RS go rialta.

Má tá an t- athróg FIELDWIDTHS leagtha síos i liosta uimhrithe spás, táthar ag súil go mbeidh leithead seasta ag gach réimse, agus cuireann gawk an taifead ar fáil ag baint úsáide as na leithead sonraithe. Tá neamhaird ar luach FS . Cuireann luach nua a shannadh do FS an úsáid a bhaint as FIELDWIDTHS , agus athshlánóidh sé an t-iompar réamhshocraithe.

Féadfar tagairt a dhéanamh ar gach réimse sa taifead ionchuir ag a sheasamh, $ 1 , $ 2 , agus mar sin de. Is é $ 0 an taifead iomlán. Ní mór do chonaic tagairt a dhéanamh ar réimsí:

n = 5
priontáil $ n

priontáil an cúigiú réimse sa taifead ionchuir.

Socraítear an NF athraitheach ar líon iomlán na réimsí sa taifead ionchuir.

Tagairtí ar réimsí nach bhfuil ann (ie réimsí tar éis $ NF ) a tháirgeann an t-aon-teaghrán. Mar sin féin, méadóidh síneadh do réimse nach bhfuil ann (m.sh., $ (NF + 2) = 5 ) luach NF , cruthaíonn sé aon réimsí idirghabhála leis an teaghrán null mar a luach, agus cuireann sé luach $ 0 le moladh, le na réimsí atá á scartha ag luach OFS . Cuireann tagairtí do réimsí uimhriúla diúltacha mar thoradh ar earráid mharfach. Déanann NF a chur i gcion ar luachanna na réimsí a bhfuil an luach nua le cailliúint acu, agus luach $ 0 le moladh, agus luach na OFS á scartha ag na réimsí.

Is éard atá i gceist le luach a thabhairt do réimse atá ann cheana féin an t-iomlán ar an taifead a atógáil nuair a thagraítear tagairt do $ 0 . Ar an gcaoi chéanna, is é an luach a shannadh go $ 0 ná go ndéanfaí an taifead a scaoileadh, ag cruthú luachanna nua do na réimsí.

Athróga Tógtha i

Is iad athróg tógtha Gawk :

ARGC

Líon na n-argóintí líne ceannais (ní áirítear roghanna le gawk , nó foinse an chláir).

ARGIND

An t-innéacs in ARGV den chomhad reatha á phróiseáil.

ARGV

Sraith na n-argóintí líne ceannais. Tá an eagar innéacsaithe ó 0 go ARGC - 1. Is féidir le hábhar an ARGV a athrú go dinimiciúil na comhaid a úsáidtear le haghaidh sonraí a rialú.

BINMODE

Ar chórais neamh-POSIX, sonraítear úsáid na modhanna `` dénártha 'i gcomhair gach comhad I / O. Sonraigh luachanna uimhriúla 1, 2, nó 3 gur chóir comhaid ionchuir, comhaid aschuir, nó gach comhad, faoi seach, a úsáid I / O dénártha. Sonraigh luachanna teorainneacha "r" , nó "w" gur cheart comhaid ionchuir, nó comhaid aschuir, faoi seach, a úsáid I / O dénártha. Sonraigh luachanna teorainneacha "rw""wr" gur chóir go n-úsáideann gach comhad dénártha I / O. Déileáiltear le haon luach teaghrán eile mar "rw" , ach gineann teachtaireacht rabhaidh.

CONVFMT

An fhormáid chomhshó le haghaidh uimhreacha, "% .6g" , de réir réamhshocraithe.

ENVIRON

Sraith ina bhfuil luachanna na timpeallachta reatha. Tá an eagar innéacsaithe ag na hathróga timpeallachta, is é luach gach athróg atá i ngach gné (m.sh., d'fhéadfadh ENVIRON ["HOME"] a bheith / sa bhaile / ar fáil ). Ní dhéanann athrú ar an eagar seo difear don timpeallacht atá le feiceáil ag cláir a ghlactar le gawk trí athchur nó an córas () feidhm.

ERRNO

Má tharlaíonn earráid ar an gcóras ag athdhíriú ar líne a fháil, nuair a léitear le haghaidh getline , nó le linn dlúth () , ansin beidh sreang ag ERRNO ag cur síos ar an earráid. Tá an luach faoi réir aistriúchán i áitiúla neamh-Béarla.

FIELDWIDTHS

Liosta de na línte talún atá scartha ó spás bán. Nuair a bheidh sé leagtha síos, cuireann gawk an t-ionchur i réimsí an leithead seasta, in ionad luach an athróg FS a úsáid mar an deighilteoir réimse.

AINM COMHAID

Ainm an chomhaid ionchuir reatha. Mura bhfuil aon chomhaid sonraithe ar an líne orduithe, is é luach FILENAME `` - ''. Mar sin féin, tá FILENAME neamhdefinnithe taobh istigh den bhloc BEGIN (mura socraítear ag getline ).

FNR

An uimhir taifead ionchuir sa chomhad ionchuir reatha.

FS

An scaradh ionchuir deighilteoir, spás de réir réamhshocraithe. Féach Fields , thuas.

IGNORECASE

Rialaíonn sé-íogaireacht na n-oibríochtaí rialta agus léirithe rialta go léir. Má tá luach neamh-nialais ag IGNORECASE , ansin déan comparáidí sreang agus meaitseáil patrún i rialacha, scoilteadh páirceála le FS , taifeadadh a scaradh le RS , comhoiriúlacht rialta le ~ agus ! ~ , Agus an gensub () , gsub () , innéacs () , feidhmeanna comhoiriúnacha () , roinnte () , agus fo () a chuirtear in iúl go léir nuair a dhéantar oibríochtaí léirithe go rialta. TABHAIR FAOI DEARA: Ní dhéantar difear do shuibscríobh eagar , ná an fheidhm asort () .

Dá bhrí sin, más rud é nach bhfuil IGNORECASE comhionann le nialas, / aB / déanann na seinnteáin "ab" , "aB" , "Ab" , agus "AB" a chomhshó . Mar is amhlaidh le gach athróg AWK, is é an luach tosaigh IGNORECASE nialas, agus mar sin de ghnáth tá gach léiriú rialta agus oibríochtaí teaghrán cás-íogair. Faoi Unix, úsáidtear an tacar carachtar iomlán ISO 8859-1 Laidin-1 nuair a thugann neamhaird ar chás.

LINT

Soláthraíonn rialú dinimiciúil ar an rogha - lint ó chlár AWK. Nuair atá fíor, priontaí gawk rabhaidh lint. Nuair a bheidh sé bréagach, níl sé. Nuair a shanntar an luach teaghrán "marfach" , bíonn rabhaidh lint mar earráidí marfacha, díreach cosúil le --lint = marfach . Aon fhíorluach eile ach priontaí rabhaidh.

NF

Líon na réimsí sa taifead ionchuir reatha.

NR

Líon iomlán na dtáifead ionchuir atá le feiceáil go dtí seo.

OFMT

An fhormáid aschuir le haghaidh uimhreacha, "% .6g" , de réir réamhshocraithe.

OFS

Deighilteoir réimse aschuir, spás de réir réamhshocraithe.

ORS

An scaradh aschuir taifead, mar gheall ar líne nua.

PROCINFO

Soláthraíonn eilimintí na sraithe seo rochtain ar fhaisnéis faoin gclár reatha AWK. Ar roinnt córais, d'fhéadfadh go mbeadh eilimintí san eagar, "group1" trí "grúpa n " le haghaidh roinnt n , arb é líon na ngrúpaí forlíontacha atá ag an bpróiseas. Úsáid an t-oibreoir chun tástáil a dhéanamh ar na heilimintí seo. Táthar ag rá go mbeidh na heilimintí seo a leanas ar fáil:

PROCINFO ["gan aon"]

luach an ghlaoigh chórais a fháil (2).

PROCINFO ["easnamh"]

luach an ghlaonna chórais geteuid (2).

PROCINFO ["FS"]

"FS" má tá scoilteadh réimse le FS i bhfeidhm, nó "FIELDWIDTHS" má tá scoilteadh réimse le FIELDWIDTHS i bhfeidhm.

PROCINFO ["gid"]

Luach an ghlaoigh chórais getgid (2).

PROCINFO ["pgrpid"]

an ID grúpa próisis den phróiseas reatha.

PROCINFO ["pid"]

ID an phróisis den phróiseas reatha.

PROCINFO ["ppid"]

ID an phróisis tuismitheora den phróiseas reatha.

PROCINFO ["uid"]

luach an ghlaoigh chórais getuid (2).

RS

Seinnteoir taifead ionchuir, mar gheall ar líne nua.

RT

Críochnaitheoir na taifead. Leagann Gawk RT don téacs ionchuir a mheaitseáil leis an gcarachtar nó leis an léiriú rialta a shonraíonn RS .

RSTART

Innéacs an chéad charachtair a mheaitseáil le meaitseáil () ; 0 mura bhfuil aon mheaitseáil ann. (Tugann sé seo le tuiscint go dtosóidh innéacsanna carachtair ag ceann amháin.)

CLÁR

Fad an teaghrán a mheaitseáil le meaitseáil () ; -1 mura bhfuil aon mheaitseáil ann.

SUBSEP

An carachtar a úsáidtear chun suibscríbhinní ilghnéitheacha a shainiú in eilimintí eagar, de réir réamhshocraithe "\ 034" .

AN TÍOMAÍOCHT TÉACA

Fearann ​​téacs an chláir AWK; a úsáidtear chun na haistriúcháin áitiúla a aimsiú le haghaidh teaghráin an chláir.

Foraoisí

Tá coimhlintí coimhdeachta le haon abairt idir lúibíní cearnacha ( [ agus ] ). Más léiriú an abairt an abairt ( expr , expr ...) ansin is é an suibscríobh eagar sreang arb éard é an luasmhíniú ar luach (teaghrán) gach abairt, arna scartha le luach an athróg SUBSEP . Úsáidtear an tsaoráid seo chun insamhail a dhéanamh ar na hailtí iolraithe atá i gceist. Mar shampla:

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

sannann an teaghrán "hello, world \ n" leis an eilimint den eagar x atá innéacsaithe ag an teaghrán "A \ 034B \ 034C" . Tá na hailt ar fad in AWK comhchuibhitheach, ie innéacsú le luachanna teaghrán.

Is féidir an t-oibreoir speisialta a úsáid i ráiteas más rud écé gur ráiteas é a fheiceáil má tá innéacs ag comhdhéanta de luach áirithe.

más sraith priontála (val in eagar) [val]

Má tá suibscríbhinní ilghnéitheacha ag an eagar, bain úsáid as (i, j) i sraith .

Is féidir an t-innealra a úsáid chomh maith le haghaidh lúb chun é a chur ar ais ar gach eilimint de sraith.

Is féidir eilimint a scriosadh as sraith ag baint úsáide as an ráiteas scriosadh . Féadfar an ráiteas a scriosadh a úsáid freisin chun ábhar iomlán na sraithe a scriosadh, ach trí ainm an eagraigh gan síntiús a shonrú.

Clóscríobh agus Comhshó Athróg

Is féidir athróg agus réimsí a bheith (pointe snámh) uimhreacha, nó teaghráin, nó iad araon. Braitheann an luach a bhaineann le hathróg ar a gcomhthéacs. Má úsáidtear é in abairt uimhriúil, déileálfar leis mar uimhir, má úsáidtear é mar shreang, déileálfar leis mar shreang.

Chun athróg a chur i bhfeidhm le go gcaithfí mar uimhir, cuir 0 leis; chun é a fhorfheidhmiú mar threangán, é a chomhdhéanamh leis an teaghrán null.

Nuair is gá teaghrán a thiontú go dtí uimhir, déantar an comhshó a bhaint amach ag baint úsáide as strtod (3). Déantar uimhir a thiontú go sreang trí úsáid a bhaint as luas CONVFMT mar shraith formáid le haghaidh sprintf (3), le luach uimhriúil an athróg mar an argóint. Mar sin féin, cé go bhfuil na huimhreacha uile in AWK ina phointe snámh, déantar luachanna lárnacha a thiontú mar shlánuimhir i gcónaí . Dá bhrí sin, tugtha

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

tá luach teaghrán "12" ag an athróg b agus ní "12.00" .

Déanann Gaw comparáidí mar seo a leanas: Má tá dhá athróg uimhriúil, déantar iad a chur i gcomparáid go huimhreach. Má tá luach amháin uimhriúil agus tá luach teaghrán ag an gcineál eile atá `` teaghrán uimhriúil, '' ansin déantar comparáidí uimhriúla freisin. Seachas sin, déantar an luach uimhriúil a thiontú go sreang agus déantar comparáid teaghrán. Déantar dhá shraith a chur i gcomparáid, ar ndóigh, mar shrianta. Tabhair faoi deara go bhfuil feidhm ag an gcaighdeán POSIX coincheap `` teaghrán uimhriúil '' i ngach áit, fiú le srianta sreangáin. Mar sin féin, is léir go bhfuil sé seo mícheart, agus ní dhéanann gawk seo. (Go fortunately, socraítear é seo sa chéad leagan eile den chaighdeán.)

Tabhair faoi deara nach bhfuil na srianta teaghrán, mar shampla "57" , teaghráin uimhriúla, is srianta teaghrán iad. Ní bhaineann an smaoineamh `` teaghrán uimhriúil 'ach le réimsí, ionchur getline , FILENAME , eilimintí ARGV , eilimintí ENVIRON agus na heilimintí a bhaineann le sraith cruthaithe ag roinnte () atá ina teaghráin uimhreacha. Is é an smaoineamh bunúsach ná go n-ionchuirfeadh ionchur an úsáideora , agus níor cheart go gcaithfí an t-ionchur úsáideora sin amháin, a bhreathnaíonn uimhriúil.

Tá luach uimhriúil 0 agus an luach teaghrán "" (an t-aonar, nó folamh, teaghrán) ag athróg neamhghabhálacha.

Constanacha Octal agus Hexadecimal

Ag tosú le leagan 3.1 de gawk, is féidir leat úsáid a bhaint as constántacha octal agus heicteasacha stíl C i do chód foinse an chláir AWK. Mar shampla, tá an luach octal 011 cothrom le deachúil 9 , agus tá an luach hexadecimal 0x11 cothrom le deachúil 17.

Constanacha String

Tá sraitheanna carachtair atá faoi iamh idir Sleachta dúbailte ( " ) i sraitheanna teorainneacha AWK ( " ). Laistigh de na teaghráin, aithnítear sraitheanna éalaithe áirithe, mar atá i C. Seo iad:

\\

Backslash litriúil.

\ a

An carachtar `` alert ''; de ghnáth an carachtar BELÁN ASCII.

\ b

backspace.

\ f

foirm-beatha.

\ n

líne nua.

\ r

tuairisceán iompair.

\ t

cluaisín cothrománach.

\ v

cluaisín ingearach.

\ x dhigit heicteár

An carachtar a léiríonn an teaghrán dhigit heicteánta tar éis \ x . Mar atá i ANSIC, meastar go bhfuil gach dhigit heicteasaitheach seo a leanas mar chuid den seicheamh éalaithe. (Ba cheart go dtabharfadh an ghné seo dúinn rud éigin a insint dúinn faoi dhearadh teanga ag coiste.) Eg, "\ x1B" is ea an carachtar ASCIIESC (éalú).

\ ddd

An carachtar a léiríonn an seicheamh 1-, 2-, nó 3 dhigit de na digití octal. Mar shampla, is é "\ 033" an carachtar ASCII ESC (éalú).

\ c

An carachtar litriúil c .

Is féidir na sraitheanna éalú a úsáid taobh istigh de abairtí seasta rialta (m.sh., / [\ t \ f \ n \ r \ v] / a thagann le carachtair spáis-ghéine).

I mód comhoiriúnachta, déantar cóireáil literalach ar na carachtair a léiríonn sraitheanna éalaithe octal agus hexadecimal nuair a úsáidtear iad i srianta léirithe rialta. Dá bhrí sin, tá / a \ 52b / comhionann le / a \ * b / .

Patrúin agus Gníomhartha

Is teanga línelínte é AWK. Tagann an patrún ar dtús, agus ansin an gníomh. Tá ráitis gníomhaíochta faoi iamh i { agus } . Féadfaidh an patrún a bheith ar iarraidh, nó d'fhéadfadh an gníomh a bheith ar iarraidh, ach, ar ndóigh, níl an dá rud. Má tá an patrún ar iarraidh, déantar an gníomh a fhorghníomhú le haghaidh gach taifead ionchuir amháin. Tá gníomh ar iarraidh comhionann le

{cló}

a phrionnaíonn an taifead ar fad.

Tosaíonn na tuairimí leis an carachtar `` # '', agus leanúint ar aghaidh go dtí deireadh na líne. Is féidir línte bán a úsáid chun ráitis a scaradh. De ghnáth, gcríochnaíonn ráiteas le líne nua, áfach, ní hé seo an cás le haghaidh línte dar críoch ``, '', { , ? , : , && , nó || . Leanann na línte a chríochnaíonn a dhéanamh nó a ráitis go huathoibríoch freisin ar an líne seo a leanas. I gcásanna eile, is féidir le líne a leanúint trí ', agus sa chás sin neamhairdfear an líne nua.

Is féidir ráitis éagsúla a chur ar líne amháin trína chéile le ``; ''. Baineann sé seo leis na ráitis laistigh den chuid gníomhaíochta de péire patrún-ghnímh (an gnáthchás), agus leis na ráitis gníomhaíochta patrún féin.

Patrúin

D'fhéadfadh patrúin AWK a bheith ar cheann de na rudaí seo a leanas:

BEGIN CRÍOCH / léiriú rialta / patrún léirithe coibhneasta & patrún patrún || patrún patrún ? patrún : patrún ( patrún ) ! patrún patrún1 , patrún2

Tá dhá chineál speisialta de BEGIN agus END nach ndéantar tástáil orthu in aghaidh an ionchuir. Cuirtear na codanna gníomhaíochta de gach patrúin BEGIN le chéile amhail is dá mba na blianta BEGIN amháin a scríobh na ráitis go léir. Déantar iad a fhorghníomhú sula léitear aon cheann den ionchur. Ar an gcaoi chéanna, déantar na bloic END go léir a chumasc agus a fhorghníomhú nuair a bhíonn an t-ionchur go léir ídithe (nó nuair a dhéantar ráiteas scoir a fhorghníomhú). Ní féidir patrúin BEGIN agus END a chomhcheangal le patrúin eile in abairtí patrún. Ní féidir le codanna gníomhaíochta a bheith ag iarraidh patrúin BEGIN agus END .

Le haghaidh / léiriú / patrúin rialta , déantar an ráiteas a bhaineann le gach taifead ionchuir a chomhlíonann an abairt rialta. Tá léirithe rialta mar an gcéanna leo siúd atá i bhfoirm (1), agus déantar achoimre orthu thíos.

Féadann abairt comhréireach aon cheann de na hoibreoirí atá sainmhínithe thíos san alt ar ghníomhartha a úsáid. Déanann siad seo a thástáil i gcoitinne cibé acu a mhealann réimsí áirithe sainráiteanna rialta.

An && , || , agus ! tá oibreoirí loighciúil AGUS, loighciúil NÓ, agus loighciúil NACH, faoi seach, mar atá i C. Déanann siad meastóireacht ghearrchiorcad, chomh maith mar atá i C, agus úsáidtear iad chun sainráiteanna patrún níos mó a chur le chéile. Mar atá i bhformhór na dteangacha, is féidir braontaí a úsáid chun an t-ordú meastóireachta a athrú.

Is é an t-oibreoir : an t-oibreoir cosúil leis an oibreoir céanna i C. Má tá an chéad patrún fíor ansin is é an patrún a úsáidtear le haghaidh tástála an dara patrún, nó is é an tríú ceann eile é. Ní dhéantar ach ceann amháin den dara agus an tríú patrúin a mheas.

Tugtar patrún raon ar a dtugtar patrún1 , foirm pattern2 de abairt. Déanann sé gach taifead ionchuir a thosaíonn le taifead a luíonn patrún 1 , agus leanann sé go dtí taifead a luíonn patrún2 , san áireamh. Ní chomhcheanglaíonn sé le haon chineál eile de léiriú patrún.

Léirithe Rialta

Is éard atá i sainráiteanna rialta an cineál leathnaithe a fhaightear i mbréag . Tá siad comhdhéanta de charachtair mar seo a leanas:

c

maireann an neamh-metacharacter c .

\ c

an carachtar litriúil c .

.

Maireann aon charachtar lena n-áirítear líne nua.

^

Déanann sé tús le sreang.

$

maireann sé deireadh an teaghrán.

[ abc ... ]

liosta carachtair, déanann aon cheann de na carachtair abc ...

[^ abc ... ]

an liosta carachtar a dhiúltú, déanann sé aon charachtar ach amháin abc ...

r1 | r2

malartú: coinníonn ceachtar r1r2 .

r1r2

concatenation: matches r1 , agus ansin r2 .

r +

coinníonn ceann amháin nó níos mó.

r *

maireann náid nó níos mó.

r ?

maireann náid nó duine.

( r )

grúpáil: matches r .

r { n }

r { n ,}

r { n , m } Léiríonn ceann amháin nó dhá uimhir taobh istigh de choirníní abairt idirghabhála . Má tá uimhir amháin sna brainsí, déantar an abairt rialta roimhe seo r arís agus arís eile arís. Má tá dhá uimhir scartha le comaí, déantar arís agus arís eile arís é arís go m uaire. Má tá uimhir amháin ann ina dhiaidh sin le coma, déanfar r arís agus arís eile arís agus arís eile arís.

Níl abairtí idirghabhála ar fáil ach amháin má tá --posix- eatramh sonraithe ar an líne ordaithe.

\ y

maireann an téadán folamh ag tús nó deireadh focal.

\ B

maireann an téadán folamh laistigh de fhocal.

\ <

maireann an téadán folamh ag tús focal.

\>

an téadán folamh ag deireadh an fhocail.

\ w

matches aon charachtar comhdhéanta (litir, dhigit, nó neamhchruinn).

\ W

maireann aon charachtar nach comhábhar focal.

\ `

an téadán folamh ag tús maolán (teaghrán).

\ '

an téadán folamh ag deireadh maolán.

Tá na sraitheanna éalaithe atá bailí i srianta teaghrán (féach thíos) bailí i bhfoirm rialta freisin.

Gné nua a tugadh isteach i gcaighdeán POSIX iad na haicmí carachtair . Nóta speisialta is ea aicme carachtar chun liostaí carachtair a bhfuil tréith shonrach acu a thuairisciú, ach i gcás inar féidir leis na carachtair iarbhír féin a athrú ó thír go tír agus / nó ó charachtair atá leagtha síos sa tsraith carachtar. Mar shampla, tá an coincheap ar a bhfuil carachtar aibítreach difriúil sna Stáit Aontaithe agus sa Fhrainc.

Níl ach rang carachtar bailí i bhfocail rialta laistigh de lúibíní liosta carachtair. Is éard atá i ranganna carachtair [: , eochairfhocal a dhíríonn ar an rang, agus :] . Is iad na ranganna carachtar atá sainmhínithe ag an gcaighdeán POSIX ná:

[: alnum:]

Carachtair alfa-uimhriúla.

[: alpha:]

Carachtair Aibítre.

[: bán:]

Spás nó carachtair tab.

[: cntrl:]

Carachtair Rialaithe.

[: dhigit:]

Carachtair uimhriúla.

[:graf:]

Carachtair atá inphriontáilte agus infheicthe araon. (Tá spás inphriontáilte, ach níl sé le feiceáil, cé go bhfuil an dá cheann.)

[: níos ísle:]

Carachtair aibítreacha cás íochtarach.

[: clóite:]

Carachtair inphriontáilte (carachtair nach bhfuil carachtair rialaithe acu).

[: punct:]

Caracthaí poncála (carachtair nach litir, dhigit, carachtair rialaithe, nó carachtair spáis iad).

[: spás:]

Carachtair spáis (cosúil le spás, cluaisín, agus foirmeacha, le cúpla focal a ainmniú).

[:Uachtarach:]

Carachtair aibítreacha cás-uachtair.

[: xdigit:]

Carachtair atá dhigit heicteamach.

Mar shampla, roimh chaighdeán POSIX, chun carachtair alamaméireacha a mheaitseáil, bheadh ​​ort scríobh / [A-Za-z0-9] / a scríobh. Más rud é go raibh carachtair eile aibítreach ann do shocrú carachtair, ní bheadh ​​sé seo in ann comhoiriúnach leo, agus más rud é go socraigh do charachtar difriúil ó ASCII, ní fhéadfadh sé seo carachtair alfa-uimhriúla ASCII a mheaitseáil. Le ranganna carachtar POSIX, is féidir leat scríobh / [[: alnum:]] / , agus déanann sé seo na carachtair aibítreach agus uimhriúla i do shraith charachtar.

Is féidir dhá shraith speisialta breise a bheith i liostaí carachtair. Baineann siad seo le tacair carachtair neamh-ASCII, ar féidir leo siombailí aonair (ar a dtugtar eilimintí comhdhéanta ) a bhfuil ionadaíocht acu le níos mó ná carachtar amháin, chomh maith le roinnt carachtair atá coibhéiseach le haghaidh cuspóirí a chomhdhéanamh nó a shórtáil. (Mar shampla, i bhFraincis, tá `` e '' plain agus e` uaigh-accented comhionann.)

Siombailí Comhdhéanta

Is eilimint chomhdhéanta il-charachtair atá i siombail chumhachta atá ceangailte in [. agus .] . Mar shampla, más rud é go bhfuil eilimint cholaithe ann, ansin [[.ch.]] Is léiriú rialta a mheaitseáil leis an eilimint seo a chomhdhéanamh, agus [ch] is léiriú rialta a mheaitseáil le ch .

Ranganna Comhionannas

Is ainm locale-shonrach é rang coibhéise le haghaidh liosta de na carachtair atá comhionann. Tá an t-ainm iniata in [= and =] . Mar shampla, d'fhéadfaí an t-ainm a úsáid chun ionadaíocht a dhéanamh ar `` e, '' `` e ',' 'agus `` e`.' 'Sa chás seo, is léiriú rialta é [[= e =]] matches aon cheann de e , e ' , nó e` .

Tá na gnéithe seo an-luachmhar i scoileanna neamh-labhartha Béarla. Ní fheidhmeoidh na feidhmeanna leabharlainne a úsáideann gawk le haghaidh meaitseáil léirithe rialta ach aicmí carachtar POSIX ach amháin; ní aithníonn siad siombailí nó ranganna coibhéise a chomhdhéanamh.

na hoibreoirí \ y , \ B , \ < , \> , \ w , \ W , \ ` , agus \ ' sainiúla do gawk ; is síntí iad atá bunaithe ar shaoráidí sna leabharlanna nochtadh rialta GNU.

Rialaíonn na roghanna éagsúla orduithe mar a léiríonn gawk carachtair i bhfocail rialta.

Gan aon roghanna

Sa chás réamhshocraithe, soláthraíonn gawk na háiseanna uile ar léirithe rialta POSIX agus na hoibreoirí léirithe rialta GNF a thuairiscítear thuas. Mar sin féin, ní thacaítear le habairtí idirghabhála.

--posix

Níl ach abairtí rialta POSIX tacaithe, ní bhíonn na hoibreoirí GNU speisialta. (Eg, \ w luíonn litriúil w ). Ceadaítear abairtí idirghabhála.

- sealadach

Traidisiúnta Unix awk léirithe rialta a mheaitseáil. Níl na hoibreoirí GNU speisialta, níl sainráiteanna idirghabhála ar fáil, agus níl na ranganna carachtar POSIX ( [[: alnum:]] agus mar sin de). Déileáiltear le carachtair a bhfuil cur síos orthu ar shraitheanna éalaithe octal agus heicteimiúla go litriúil, fiú má léiríonn siad meitrealóirí rialta.

- eatramh

Ceadaigh abairtí eatramhacha i bhfocail rialta, fiú amháin más rud é go soláthraíodh - sealadach .

Gníomhartha

Tá ráitis gníomhaíochta faoi iamh i bracáin, { agus } . Is éard atá i ráitis ghníomhaíochta ná na ráitis is gnách a bhaineann le sannadh, coinníollach agus looping a fhaightear sa chuid is mó de theangacha. Tá na hoibreoirí, na ráitis rialaithe, agus na ráitis ionchuir / aschuir atá ar fáil patrún tar éis dóibh siúd i C.

Oibreoirí

Is iad na hoibreoirí in AWK, d'fhonn tosaíocht a laghdú

( ... )

Grúpáil

$

Tagairt tagartha.

++ -

Méadú agus laghdú, réimír agus iarchéimniú araon.

^

Is féidir nochtadh ( ** a úsáid freisin, agus ** = don oibreoir sannadh).

+ -!

Unary plus, unary minus, agus loighciúil negation.

* /%

Multiplication, division, and modulus.

+ -

Breiseadh agus dealú.

spás

Concatenation teorainn.

<>

<=> =

! = == Na hoibreoirí coibhneasta rialta.

~! ~

Meaitseáil rialta a mheaitseáil, a mheaitseáil le chéile. TABHAIR FAOI DEARA: Ná bain úsáid as léiriú rialta leanúnach ( / foo / ) ar thaobh na láimhe clé de ~! ~ . Bain úsáid as ceann amháin ar thaobh na láimhe deise. Tá an bhrí chéanna ag an abairt / foo / ~ exp (($ 0 ~ / foo /) ~ exp ) . hiondúil é seo a bhí beartaithe.

i

Ballraíocht ar eagra.

&&

Loighciúil AGUS.

||

NÓ loighciúil.

?:

An abairt C coinníollach. Is é seo an fhoirm expr1 ? expr2 : expr3 . Má tá expr1 fíor, is é expr2 luach an fhocail, ar shlí eile is é expr3 é . Ní dhéantar ach ceann amháin de expr2 agus expr3 a mheas.

= + = - =

* = / =% = ^ = Sannadh. Tugtar tacaíocht don tasc iomlán ( var = luach ) agus don tasc oibreora (na foirmeacha eile).

Ráitis Rialaithe

Seo a leanas na ráitis rialaithe:

ráiteas ( coinníoll ) [ ráiteas eile ] agus ráiteas ( coinníoll ) ráiteas á dhéanamh agus ( ráiteas ) do ( expr1 ; expr2 ; expr3 ) ráiteas maidir le sárú ráitis ( var in eagar ) leanúint ar aghaidh scriosadh sraith [ innéacs ] scrios amach sraith eagar [ abairt ] { ráitis }

Ráitis I / O

Seo a leanas na ráitis ionchuir / aschuir:

gar ( comhad [ , conas ]]

Dún comhad, píopa nó comh-phróiseas. Ba chóir an rogha a chaithfí a úsáid ach amháin nuair a dhúnadh deireadh amháin píopa dhá bhealach le comhchóras. Caithfidh sé a bheith ina shraithluach, "go""ó" .

getline

Socraigh $ 0 ón gcéad taifead ionchuir; Socraigh NF , NR , FNR .

getline < comhad

Socraigh $ 0 ón gcéad taifead eile den chomhad ; socraigh NF .

getline var

Socraigh var ón gcéad taifead ionchuir; leagtha NR , FNR .

getline var < file

Socraigh var ón gcéad taifead eile den chomhad .

ordú | getline [ var ]

Ritheann an t-ordú píopaí an t-aschur isteach i $ 0var , mar atá thuas.

ordú | & getline [ var ]

Rith orduithe mar chomhphróiseáil ag píopaireacht an aschuir isteach i $ 0 nó ar éagsúlacht , mar atá thuas. Is leathnú gawk iad comhchóisis .

an chéad cheann eile

Stop an próiseas ionchuir reatha a phróiseáil. Léantar an chéad thaifead ionchuir eile agus tosaíonn an próiseáil leis an gcéad patrún sa chlár AWK. Má tá deireadh na sonraí ionchuir bainte amach, déantar na bloc (í) END , más ann dóibh, a fhorghníomhú.

nextfile

Stop an próiseas ionchuir reatha a phróiseáil. Tagann an chéad taifead ionchuir eile ón gcéad chomhad ionchuir eile. Déantar FILENAME agus ARGIND a nuashonrú, athshocraítear FNR go 1, agus tosaíonn an próiseáil leis an gcéad patrún sa chlár AWK. Má tá deireadh na sonraí ionchuir bainte amach, déantar na bloc (í) END , más ann dóibh, a fhorghníomhú.

priontáil

Priontáil an taifead atá ann faoi láthair. Déantar an taifead aschuir a fhoirceannadh le luach an athróg ORS .

print expr-liosta

Léirmhínithe priontaí. Déantar gach abairt a scartha le luach an athróg OFS . Déantar an taifead aschuir a fhoirceannadh le luach an athróg ORS .

print expr-list > comhad

Priontaí léirithe ar chomhad . Déantar gach abairt a scartha le luach an athróg OFS . Déantar an taifead aschuir a fhoirceannadh le luach an athróg ORS .

printf fmt, expr-list

Formáid agus cló.

printf fmt, expr-list > comhad

Formáid agus clóigh ar an gcomhad .

córas ( cmd-líne )

Ríomh an t - ordú cmd-líne , agus cuir an stádas fágtha ar ais. (Ní fhéadfadh sé seo a bheith ar fáil ar chórais neamh-POSIX.)

fflush ( [ comhad ] )

Brúigh aon mhaoláin a bhaineann leis an gcomhad aschuir oscailte nó le comhad píopa. Má tá an comhad ar iarraidh, cuirtear aschur caighdeánach ar shiúl. Más é an comhad an téadán níocháin, ansin tá a gcuid maoláin ag baint úsáide as gach comhad aschuir agus píopaí oscailte.

Ceadaítear athghleachtaí aschuir breise le haghaidh priontáil agus printf .

clóigh ... >> comhad

Cuireann an t-aschur an comhad ar fáil .

priontáil ... | ordú

scríobhann ar phíopa.

cló ... & ordú

seoltar sonraí ar chomhchóras.

Filleann an t-ordú getline 0 ar deireadh comhaid agus -1 ar earráid. Ar earráid, tá sreang ag ERRNO ag cur síos ar an bhfadhb.

TABHAIR FAOI DEARA: Má úsáideann tú píopa nó comh-phróiseas chun líne a fháil, nó ó phriontáilprintf laistigh de lúb, caithfidhgar () a úsáid chun cásanna nua den ordú a chruthú. Ní ghlacann AWK píopaí nó comhphróisis go huathoibríoch nuair a fhilleann siad EOF.

An Ráiteas printf

Glacann na leaganacha AWK den ráiteas printf agus feidhm sprintf () (féach thíos) na formáidí sonraíochta tiontaithe seo a leanas:

% c

Carachtar ASCII. Má tá an argóint a úsáidtear le haghaidh % c uimhriúil, déileálfar leis mar charachtar agus clóite. Seachas sin, glactar leis gurb é an argóint gur teaghrán í, agus is priontáilte an chéad charachtar den chéad uair.

% d , % i

Uimhir dheachúlacha (an chuid slánuimhir).

% e,% E

Uimhir phointe snámh den fhoirm [-] d.dddddde [+ -] dd . Úsáideann an formáid % E E seachas e .

% f

Uimhir phointe snámh den fhoirm [-] ddd.dddddd .

% g,% G

Bain úsáid as % e% f comhshó, cibé acu is giorra, le nialais neamhshuntasacha faoi chois. Úsáideann an fhormáid % G % E in ionad % e .

% o

Uimhir octal neamhshínithe (freisin slánuimhir).

% u Uimhir deachúil neamhshínithe (arís, slánuimhir).

% s

Téad carachtar.

% x,% X

Uimhir heicteasaitheach neamhshínithe (slánuimhir). Úsáideann an formáid % X ABCDEF in ionad abcdef .

%%

% Carachtar amháin; ní dhéantar aon argóint a thiontú.

Féadfaidh paraiméadair bhreise roghnacha a bheith idir an % agus an litir rialaithe:

comhaireamh $

Bain úsáid as an argóint chomhaireamh ag an bpointe seo sa fhormáidiú. Glactar leis seo ar shonraí seiceála agus tá sé beartaithe go príomha é a úsáid i leaganacha aistrithe de na teaghráin fhormáid, ní i dtéacs téacs clár AWK. Is síneadh gawk é .

-

Ba cheart go mbeadh an abairt inghlactha taobh istigh dá réimse.

spás

Le haghaidh comhráite uimhriúla, réimigh luachanna dearfacha le spás, agus luachanna diúltacha le comhartha lúide.

+

Deir an comhartha móide, a úsáideadh roimh an modhnóir leithead (féach thíos), comhartha uimhriúil a sholáthar i gcónaí, fiú má tá na sonraí atá le formáidiú dearfach. An + athsholáthraíonn an modhnóir spáis.

#

Úsáid `` malartach '' le haghaidh litreacha rialaithe áirithe. Le haghaidh % o , cuir nialas ar fáil. Le haghaidh % x , agus % X , cuir 0x0X le ceannach toradh nonzero. I gcás % e , % E , agus % f , tá pointe deachúil ag an toradh i gcónaí. I gcás % g , agus % G , ní baintear náid as an toradh.

0

Feidhmíonn 0 (nialas) le rá mar bhratach, rud a léiríonn gur chóir an t-aschur a phaddáil le nialais seachas spásanna. Baineann sé seo fiú le formáidí aschuir neamh-uimhriúla. Níl éifeacht ag an bratach seo ach amháin nuair atá an leithead réimse níos leithne ná an luach atá le priontáil.

leithead

Ba chóir an réimse a chur ar an leithead seo. De ghnáth bíonn spás ag an réimse le spásanna. Má tá an bratach 0 á n-úsáid, tá sé gleoite le nialais.

. réamh

Uimhir a shonraíonn an cruinneas atá le húsáid nuair a bhíonn sé á phriontáil. Maidir leis an % e , % E , agus formáidí % f , sonraíonn sé seo líon na digití a dteastaíonn uait i gcló ar dheis an phointe dheachúlacha. Maidir leis na % g , agus % G formáidí, sonraítear sé an líon uasta dhigit suntasach. Le haghaidh % d , % o , % i , % u , % x , agus formáidí % X , sonraíonn sé an líon íosta digití a phriontáil. Le haghaidh % s , sonraítear sé an líon uasta carachtair as an teaghrán ba chóir a phriontáil.

Tacaítear leithead dinimiciúil agus réamhchumas na ngnáthaimh printf () ANSI C. Ciallaíonn A * in ionad an leithead nó na réamhchonarthaí na luachanna atá le glacadh ón liosta argóint go printfsprintf () . Úsáid a dhéanamh ar shonraí seiceála le leithead nó cruinneas dinimiciúil, soláthraigh an t- áireamh $ tar éis * sa chorda formáid. Mar shampla, "% 3 $ * 2 $. * 1 $ s" .

Ainmneacha Comhaid Speisialta

Agus tú ag déanamh athlonnú I / O ó phriontáilprintf isteach i gcomhad, nó trí getline ó chomhad, aithníonn gawk ainmneacha áirithe áirithe comhaid go hinmheánach. Tugann na hainmneacha comhaid seo rochtain ar thuairiscí comhaid oscailte a éiríonn as próiseas tuismitheora an ghrúpa (de ghnáth an bhlaosc). Is féidir na hainmneacha comhaid seo a úsáid freisin ar an líne ordaithe chun comhaid sonraí a ainmniú. Is iad na comhaidainmneacha:

/ dev / stdin

An ionchur caighdeánach.

/ dev / stdout

An aschur caighdeánach.

/ dev / stderr

Aschur earráide caighdeánach.

/ dev / fd / n

An comhad a bhaineann leis an tuairiscchomhad oscailte n .

Tá siad seo úsáideach go háirithe le haghaidh teachtaireachtaí earráide. Mar shampla:

clóigh "Shéid tú é!" > "/ dev / stderr"

cé go mbeadh ort a úsáid ar shlí eile

clóigh "Shéid tú é!" | "cat 1> & 2"

Is féidir na hainmneacha comhaid speisialta seo a leanas a úsáid leis an oibreoir & comh-phróiseas chun nascraí TCP / IP a chruthú.

/ inet / tcp / lport / roost / report

Comhad le haghaidh nasc TCP / IP i dtaca le calafoirt áitiúla chuig rostach óstach iargúlta ar an gclós iargúlta. Bain úsáid as calafort 0 chun an córas a phiocadh le calafort.

/ inet / udp / lport / roost / rport

Cosúil, ach úsáid UDP / IP in ionad TCP / IP.

/ inet / amh / lport / roost / report

Ar cosaint le húsáid sa todhchaí.

Tugann ainmneacha comhaid speisialta eile rochtain ar fhaisnéis faoin bpróiseas gawk reatha. Tá na hainmneacha comhaid seo as feidhm anois. Bain úsáid as an tsraith PROCINFO chun an fhaisnéis a sholáthraíonn siad a fháil. Is iad na comhaidainmneacha:

/ dev / pid

Nuair a léitear an comhad seo, cuireann an ID próiseas ar an bpróiseas reatha, i deachúil, ar deireadh le líne nua.

/ dev / ppid

Nuair a léitear an comhad seo, cuireann an ID próiseas tuismitheora ar an bpróiseas reatha, i deachúil, ar deireadh le líne nua.

/ dev / pgrpid

Nuair a léitear an comhad seo, cuireann an ID próiseas grúpa ar ais ar an bpróiseas reatha, i nde dheachúlacha, agus é ag críochnú le líne nua.

/ dev / úsáideoir

Nuair a léitear an comhad seo, cuirtear taifead amháin i gcrích le líne nua. Tá na réimsí scartha le spásanna. Is é $ 1 luach an ghlaoigh chórais getuid (2), is é $ 2 luach an ghlaoigh chórais geteuid (2), is é $ 3 luach an ghlaoigh shórais getgid (2), agus is é $ 4 luach na n- iarratas (2) glao córas. Má tá aon réimsí breise ann, is iad na grúpaí aitheantais ghrúpa atá ar ais ag grúpaí grúpa (2). Ní féidir tacaíocht a thabhairt do ghrúpaí éagsúla ar na córais go léir.

Feidhmeanna Uimhriúla

Tá na feidhmeanna uimhríochta tógtha seo a leanas ag AWK:

atan2 ( y , x )

Tuairisceán ar rindangent y / x i radians.

cos ( expr )

Tuairisceán an cosine expr , atá i radians.

exp ( nochtadh )

An fheidhm neamhspleách.

int ( nochtadh )

Truncates chun slánuimhir.

logáil isteach ( expr )

An fheidhm logarithm nádúrtha.

rand ()

Tuairisceán uimhir randamach idir 0 agus 1.

peaca ( expr )

Tuairisceann sí an t- easpa , atá i radians.

sqrt ( expr )

An fheidhm fhréamh cearnach.

srand ( [ expr ] )

Úsáidtear síolta nua mar ghineadóir uimhir randamach. Mura bhforáiltear é, cuirfear am an lae in úsáid. Is é an luach ar ais an síol roimhe seo don ghineadóir uimhir randamach.

Feidhmeanna Teaghlaigh

Tá na feidhmeanna teaghrán tógtha seo a leanas ag Gawk :

asort ( s [ , d ] )

Tuairisceán ar líon na n-eilimintí sna sraithe foinse. Déantar ábhar na n-ábhar a shórtáil ag baint úsáide as gnáthrialacha na gawk chun comparáid a dhéanamh idir luachanna, agus cuirtear innéacsanna luachanna sórtáilte in ionad na n-iomláine seicheamhach ag tosú le 1. Má tá an eagra roghnóireachta scríbe d sonraithe, déantar an chéad uair a dhúbailt i d , agus ansin tá d curtha in eagar, ag fágáil innéacsanna na sraithe foinse gan athrú.

gensub ( r , s , h [ , t ] )

Cuardaigh an spriocdhírigh t do na cluichí den abairt rialta r . Má tá téad ag tosú le gG , cuir ansin gach cluiche r le s . Seachas sin, is uimhir h a léiríonn cén cluiche r atá in ionad. Mura soláthraítear t, úsáidtear $ 0 ina ionad. Laistigh den téacs athsholáthair, is féidir an tseicheamh \ n , áit a bhfuil uimhriú ó 1 go 9, a úsáid chun an téacs a mheaitseáil leis an bhfo-athshuimín tuathaithe. Léiríonn an t-ord \ 0 an téacs iomlán comhoiriúnach, mar a dhéanann an carachtar & . Murab ionann agus sub () agus gsub () , cuirtear an sreang modhnaithe ar ais mar thoradh ar an fheidhm, agus athraítear an spriocdhíréad bunaidh.

gsub ( r , s [ , t ] )

I gcás gach substring a mheaitseáil leis an abairt r r sa téad t , cuir na sraitheanna in ionad agus cuir isteach líon na n-ionad. Mura gcuirtear t ar fáil, bain úsáid as $ 0 . Cuirtear an téacs a mheaitseáil go huathoibríoch in ionad an & sa téacs athsholáthair. Bain úsáid as \ & a fháil litriúil & . (Ní mór é seo a chlóscríobh mar "\\ &" ; féach GAWK: Cláir AWK Éifeachtach chun plé níos iomláine a dhéanamh ar na rialacha maidir le & cúlchláir agus téacsanna athsholáthair fo () , gsub () , agus gensub () .)

innéacs ( s , t )

Tuairisceán an t-innéacs ar an teaghrán t sa teaghrán s , nó 0 mura bhfuil t i láthair. (Tugann sé seo le tuiscint go dtosóidh innéacsanna carachtair ag ceann amháin.)

fad ( [ s ] )

Tuairisceáin fad na teaghrán s , nó fad $ 0 mura soláthraítear s.

meaitseáil ( s , r [ , a ] )

Tuairisceáin an seasamh i gcás ina dtarlaíonn an abairt rialta, nó 0 mura bhfuil r , agus leagtar luachanna RSTART agus RLENGTH . Tabhair faoi deara go bhfuil an t-ordú argóint mar an gcéanna leis an ~ oibreoir: str ~ re . Má chuirtear eagar ar fáil, déantar é a ghlanadh agus ansin déantar eilimintí 1 trí n a líonadh leis na codanna s a mheaitseálann an fo-fhrithsheasmhacht comhfhreagrach comhfhreagrach in r . Is é an ghné 0'th a bhfuil an chuid de na comharthaí s meaitseáilte leis an abairt rialta go léir r .

scoilt ( s , a [ , r ] )

Scaoileann an teaghrán isteach sa eagra ar an abairt rialta r , agus cuireann sé líon na réimsí ar ais. Mura fágtar r , úsáidtear FS ina ionad. Déantar an sraith a ghlanadh den chéad uair. Glacann scoilteadh go comhionann le scoilteadh páirce, a thuairiscítear thuas.

sprintf ( fmt , expr-list )

Léiríonn priontaí liosta de réir fmt , agus filleann siad an sreang mar thoradh air.

strtonum ( str )

Scrúdaíonn sé str , agus déanann sé a luach uimhriúil ar ais. Má thosaíonn str le tosaigh 0 , strtonum () glactar leis gurb é uimhir octal é an str . Má thosaíonn str le 0x0X le rá, glacann strtonum () leis gurb é uimhir heicseamach í an str .

fo ( r , s [ , t ] )

Díreach cosúil le gsub () , ach ní athraítear an chéad fhostóir meaitseála ach amháin.

substr ( s , i [ , n ] )

Tuairisceáin ar an bhfostóir is mó n- charachtar ag tosú ag i . Mura fágtar n, úsáidtear an chuid eile de.

tolower ( str )

Tuairisceán cóip den strion teaghrán, agus na carachtair uachtaracha go léir sa str str aistrithe chuig a gcomhghleacaithe comhfhreagracha níos ísle. Níl carachtair neamh-aibítir fágtha gan athrú.

toupper ( str )

Tuairisceán cóip den strion teaghrán, agus na carachtair cás íochtaracha go léir i str str aistrithe chuig a gcomhghleacaithe cás uachtaracha comhfhreagracha. Níl carachtair neamh-aibítir fágtha gan athrú.

Feidhmeanna Am

Ós rud é go bhfuil ceann de phríomhúsáidí na gclár AWK ag próiseáil comhaid logála ina bhfuil faisnéis stampa ama ann, soláthraíonn gawk na feidhmeanna seo a leanas chun stampaí ama a fháil agus iad a fhormáidiú.

mktime ( datespec )

Dáileadh Rurns isteach i stampa ama den fhoirm chéanna mar a d'fhill systime () . Sraith den fhoirm BBY MM MM H H MM MM [DST] is ea an dátaí seo. Tá sé nó seacht n-uimhriú ar ábhar an teaghrán faoi seach ar an mbliain iomlán, lena n-áirítear céad, an mhí ó 1 go 12, lá na míosa ó 1 go 31, uair an lae ó 0 go 23, an nóiméad ó 0 go 59, agus an dara ceann ó 0 go 60, agus bratach roghnach solas lae. Ní gá luachanna na n-uimhreacha seo a bheith laistigh de na raonta a shonraítear; mar shampla, ciallaíonn uair an chloig de -1 1 uair an chloig roimh mheán oíche. Glactar leis an bhféilire Gregorian náid tionscnaimh, le bliain 0 roimh bhliain 1 agus bliain -1 an bhliain roimhe sin 0. Glactar leis an am a bheith sa limistéar ama áitiúil. Má tá an bratach sábhála solas lae dearfach, glactar leis gurb é an t-am a shábháil an lae; más rud é nialas, measfar gur am caighdeánach an t-am; agus má tá diúltach (an réamhshocraithe), mktime () iarracht a chinneadh an bhfuil an t-am a shábháil an lae i bhfeidhm don am sonraithe. Mura bhfuil go leor eilimintí ann i dátaí nó má tá an t-am a eascraíonn as an raon, mktime () returns -1.

strftime ( [ format [ , timestamp ]] )

Formáidí sceideal ama de réir an tsonraíocht i bhformáid. Ba cheart go mbeadh an t- amchlár den fhoirm chéanna le d' aisigh systime () . Má bhíonn an t- amchlár ar iarraidh, úsáidtear am reatha an lae. Má tá an fhormáid ar iarraidh, úsáidtear formáid réamhshocraithe atá coibhéiseach leis an aschur dáta (1). Féach an tsonraíocht don fheidhm strftime () i ANSI C i gcomhair na comhshó formáidí a ráthaítear go mbeidh siad ar fáil. Tá leagan fearainn phoiblí de strftime (3) agus leathanach fear le teacht le gawk ; más rud é go n-úsáidtear an leagan sin chun gawk a thógáil, ansin tá na conversions uile a thuairiscítear sa leathanach fear sin ar fáil le gawk.

systime ()

Tuairisceáin an t-am atá ann faoi láthair mar líon na soicind ón Epoch (1970-01-01 00:00:00 UTC ar chórais POSIX).

Feidhmeanna Mionsonraithe Giotán

Ag tosú le leagan 3.1 de gawk , tá na feidhmeanna ionramhála giotán seo a leanas ar fáil. Oibríonn siad trí luachanna dúbailte cruinne snámha a thiontú go slánuimhreacha fada gan síniú , ag déanamh na hoibríochta, agus ansin an toradh a athshlánú go pointe snámha. Is iad na feidhmeanna ná:

agus ( v1 , v2 )

Cuir ar ais an giotán AGUS na luachanna a sholáthraíonn v1 agus v2 .

compl ( val )

Comhlánaigh val bitwise ar ais.

lshift ( val , comhaireamh )

Luach na val a aischur , aistrítear ag fágáil giotáin chomhaireamh .

nó ( v1 , v2 )

Déan NÓ giotán na luachanna a sholáthraíonn v1 agus v2 ar ais .

rshift ( val , comhaireamh )

Fill luach val ar ais , aistrigh ceart trí bhiotáin chomhaireamh .

xor ( v1 , v2 )

Cuir XOR na giotán ar ais ar na luachanna a sholáthraíonn v1 agus v2 .

Feidhmeanna Idirnáisiúnaithe

Ag tosú le leagan 3.1 de gawk , féadfar na feidhmeanna seo a leanas a úsáid ó laistigh de do chlár AWK le haghaidh teaghrán a aistriú ag an am reáchtála. Le haghaidh sonraí iomlána, féach GAWK: Cláir AWK Éifeachtach .

bindtextdomain ( eolaire [ , fearainn ] )

Sonraítear an comhadlann nuair a bhíonn gawk ag lorg na gcomhaid .mo , más rud é nach mbeidh siad in ionad "` caighdeánach '(m.sh., le linn tástála). Filleann sé an comhadlann ina bhfuil an talamh `` faoi cheangal. ''

Is é an fhearann réamhshocraithe luach TEXTDOMAIN . Más é an t- eolaire null an t-ainm null ( "" ), ansin bindtextdomain () an ceangail atá ann faoi láthair don réimse a thugtar.

dcgettext ( teaghrán [ , fearainn [ , catagóir ]] )

Tuairisceán ar aistriúchán na teaghrán i bhfearann ​​fearainn téacs do chatagóir chatagóir an locale. Is é an luach réamhshocraithe do fearainn ná luach reatha TEXTDOMAIN . Is é "LC_MESSAGES" an luach réamhshocraithe don chatagóir .

Má sholáthraíonn tú luach do chatagóir , caithfidh sé a bheith ina shraith comhionann le ceann de na catagóirí áitiúla ar a dtugtar cur síos orthu i GAWK: Cláir AWK Éifeachtach . Ní mór duit réimse téacs a sholáthar freisin. Bain úsáid as TEXTDOMAIN más mian leat an réimse reatha a úsáid.

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

Tuairisceáin an fhoirm iolrach a úsáidtear le haghaidh líon an aistriúcháin ar string1 agus string2 i bhfearann ​​fearainn téacs do chatagóir chatagóir an locale. Is é an luach réamhshocraithe do fearainn ná luach reatha TEXTDOMAIN . Is é "LC_MESSAGES" an luach réamhshocraithe don chatagóir .

Má sholáthraíonn tú luach do chatagóir , caithfidh sé a bheith ina shraith comhionann le ceann de na catagóirí áitiúla ar a dtugtar cur síos orthu i GAWK: Cláir AWK Éifeachtach . Ní mór duit réimse téacs a sholáthar freisin. Bain úsáid as TEXTDOMAIN más mian leat an réimse reatha a úsáid.

FEIDHMEANNA SAINITHE-SAINITHE

Sainítear na feidhmeanna in AWK mar a leanas:

ainm feidhm ( liosta paraiméadar ) { ráitis }

Déantar feidhmeanna a fhorghníomhú nuair a iarrtar orthu ó thaobh sainmhínithe i gceachtar patrúin nó gníomhartha. Úsáidtear na paraiméadair iarbhír a sholáthraítear sa fheidhm glao chun na paraiméadair fhoirmiúla a dhearbhaítear sa fheidhm a chur isteach. Ritheann na hailtí trí thagairt, déantar athróga eile a rith trí luach.

Ós rud é nach raibh feidhmeanna mar chuid den teanga AWK ar dtús, tá an soláthar d'athróga áitiúla sách clumsy: Dearbhaítear iad mar pharaiméadair breise sa liosta paraiméadar. Is é an coinbhinsiún athróga áitiúla a leithroinnt ó pharaiméadair fíor trí spásanna breise sa liosta paraiméadar. Mar shampla:

feidhm f (p, q, a, b) Tá #a agus b áitiúla {...} / abc / {...; f (1, 2); ...}

Éilítear ar an bpléis chlé i nglao-fheidhm an ainm feidhm a leanúint láithreach, gan aon spás bán idirghabhála. Tá sé seo chun débhríocht chomhfhreagrach a sheachaint leis an oibreoir concatenation. Ní bhaineann an srian seo leis na feidhmeanna tógtha atá liostaithe thuas.

Féadfaidh feidhmeanna glaoch a chéile agus d'fhéadfadh sé a bheith athchúrsach. Tosaítear na paraiméadair feidhm a úsáidtear mar athróga áitiúla chuig an néadán níocháin agus an uimhir nialasach tar éis an t-iarratas a chur i bhfeidhm.

Bain úsáid as aisghabháil ar ais chun luach a thabhairt ar ais ó fheidhm. Níl an luach tuairisceáin sainmhínithe mura soláthraítear luach, nó má thagann an fheidhm ar ais ag `` ag titim amach '' an deireadh.

Más rud é go soláthraítear gaile , tugann gawk rabhadh faoi ghlaonna ar fheidhmeanna neamhshainithe ag am parse, in ionad an am a reáchtáil. Is éard atá i ngleic le feidhm neamhshainithe ag am a rith ná earráid marfach.

Is féidir an focal func a úsáid in ionad feidhm .

FÓGRAÍOCHTAÍ NUA A BHAINEANN DÍONNÁLA

Ag tosú le leagan 3.1 de gawk , is féidir leat feidhmeanna nua tógtha isteach go dinimiciúil leis an ateangaire gawk reatha. Níl na sonraí iomlána taobh amuigh de raon feidhme an leathanaigh láimhe seo; féach GAWK: Cláir AWK Éifeachtach do na sonraí.

síneadh ( réad , feidhm )

Nasc dinimiciúil an comhad réad roinnte ainmnithe ag réad , agus feidhm a chur i bhfeidhm sa réad sin, chun tosaigh a dhéanamh. Ba chóir iad araon a chur ar fáil mar shrianta. Tuairisceáin an luach a d'fhill an fheidhm .

Cuirtear an fheidhm seo ar fáil agus a dhoiciméadú i GAWK: Cláir AWK Éifeachtach , ach is dócha go n-athróidh gach rud faoin ngné seo sa chéad scaoileadh eile. Molaimid go mór nach n-úsáideann tú an ghné seo le haghaidh rud ar bith nach bhfuil tú sásta a dhéanamh.

SIGNALS

Glacann pgawk dhá chomhartha. Ciallaíonn SIGUSR1 go gcuirfidh sé stack próifíl agus glao feidhm ar an gcomhad próifíle, rud atá awkprof.out , nó cibé comhad a ainmníodh leis an rogha -profile . Leanann sé ar siúl ansin. Ciallaíonn SIGHUP go gcuirfidh sé an stack próifíl agus feidhm glao ar ais agus ansin scoirfidh sé.

SAMPLAÍ

Ainmneacha logála na n-úsáideoirí go léir a phriontáil agus a shórtáil: BEGIN {FS = ":"} {print $ 1 | "sórtáil"} Líon línte i gcomhad: {nlines ++} END {print nlines} Réitigh gach líne ag a uimhir sa chomhad: {print FNR, $ 0} Concatenate agus uimhir líne (athrú ar théama): {print NR, $ 0}

Inmheánú

Sraitheanna carachtair atá faoi iamh i Sleachta dúbailte atá i gceist le srianta teaghrán. I dtimpeallachtaí neamh-labhartha Béarla, is féidir na teaghráin a mharcáil sa chlár AWK mar aistriúchán riachtanach don teanga nádúrtha dúchais. Déantar na teaghráin sin a mharcáil sa chlár AWK le príomhchruinn (`` _ ''). Mar shampla,

gawk 'BEGIN {clóigh "hello, world"}'

priontaí i gcónaí hello, domhan . Ach,

gawk 'BEGIN {priontáil _ "hello, world"}'

d'fhéadfadh sé a phriontáil bonjour, monde sa Fhrainc.

Tá roinnt céimeanna bainteach le clár AWK inrochtana a tháirgeadh agus a reáchtáil.

1.

Cuir gníomh BEGIN le luach a shannadh don athróg TEXTDOMAIN chun an t-ábhar téacs a shocrú le hainm a bhaineann le do chlár.


BEGIN {TEXTDOMAIN = "myprog"}

Ceadaíonn sé seo gawk chun an comhad .mo a bhaineann le do chlár a aimsiú. Gan an gcéim seo, úsáideann gawk an réimse téacs teachtaireachtaí , rud nach dócha go mbeidh aistrithe ann do do chlár.

2.

Marcáil na teaghráin ar fad a ba chóir a aistriú le hábhair tosaigh.

3.

Más gá, bain úsáid as na feidhmeanna dcgettext () agus / nó bindtextdomain () i do chlár, de réir mar is cuí.

4.

Rith gawk --gen-po -f myprog.awk> myprog.po chun comhad .po a ghiniúint do do chlár.

5.

Aistriúcháin chuí a sholáthar, agus comhad .mo comhfhreagrach a thógáil agus a shuiteáil.

Déantar cur síos iomlán ar na gnéithe idirnáisiúnaithe i GAWK: Cláir AWK Éifeachtach .

Comhoiriúnacht Posix

Is é príomhchuspóir an gawk comhoiriúnacht leis an gcaighdeán POSIX, chomh maith leis an leagan is déanaí de UNIX awk . Chun na críche sin, cuimsíonn gawk na gnéithe atá le feiceáil ar úsáideoirí a leanas nach gcuirtear síos orthu sa leabhar AWK, ach tá siad mar chuid den leagan Bell Laboratories de awk , agus tá siad i gcaighdeán POSIX.

Léiríonn an leabhar go dtarlaíonn sannadh athróg líne ceannais nuair a d'oscail an argóint uathu mar chomhad ar shlí eile, atá tar éis an bloc BEGIN a fhorghníomhú. Mar sin féin, i ngníomhaíochtaí níos luaithe, nuair a bhí sannadh den sórt sin le feiceáil roimh aon ainmneacha comhaid, tharlódh an sannadh sula ndéanfaí an bloc BEGIN a reáchtáil. Tháinig iarratais chun brath ar an `ghné seo. '' Nuair a athraíodh an t-athrú chun comhoiriúnú a dhéanamh ar a dhoiciméadú, cuireadh an rogha -v le hathróga a shannadh sula gcuirfí i gcrích an clár chun freastal ar iarratais a bhí ag brath ar an sean-iompar. (D'aontaigh na Saotharlanna Bell agus na forbróirí GNU an ghné seo.)

Tá an rogha -W le haghaidh gnéithe sonracha a chur chun feidhme ó chaighdeán POSIX.

Nuair a phróiseáil argóintí, úsáideann gawk an rogha speisialta `` - '' chun deireadh na n-argóintí a chomhartha. I mód comhoiriúnachta, rabhaidh sé rabhadh faoi roghanna gan sainmhínithe a mhalairt. I ngnáthghníomhaíocht, cuirtear argóintí den sórt sin ar aghaidh chuig an gclár AWK chun próiseáil a dhéanamh air.

Ní shainmhíníonn leabhar AWK luach fillte na sraithe () . Tugann an caighdeán POSIX an síol a bhí á úsáid aige ar ais, chun go bhféadfaí rian a choinneáil ar shraitheanna uimhir randamach. Dá bhrí sin, cuireann srand () in gawk an síol atá ann faoi láthair.

Is iad gnéithe nua eile: Úsáid roghanna il -f (ó MKS awk ); an eagar ENVIRON ; na sraitheanna éalú \ a , agus \ v (a rinneadh ar dtús sa gawk agus a chothaítear ar ais sa leagan Bell Laboratories); na feidhmeanna tolower () agus toupper () a tógadh isteach (ón leagan Bell Laboratories); agus na sonraíochtaí comhshó ANSI C i printf (a rinneadh ar dtús sa leagan Bell Laboratories).

Gnéithe Stairiúla

Tá dhá ghné de chur i bhfeidhm stairiúil AWK a thacaíonn gawk . Ar dtús, is féidir an fad () a tógadh i bhfeidhm a ghlaoch, ní hamháin gan aon argóint, ach fiú gan luíoga! Dá bhrí sin,

a = fad # Naofa Algol 60, Batman!

mar an gcéanna le ceachtar de

a = fad ()
a = fad ($ 0)

Tá an ghné seo marcáilte mar `` deprecated '' sa chaighdeán POSIX, agus cuireann gawk rabhadh faoin úsáid a bhaineann sé más rud é - go bhfuiltear sonraithe ar an líne ordaithe.

Is é an ghné eile ná úsáid a bhaint as na ráitis leanúnacha nó na ráitis bhriseadh lasmuigh den chomhlacht ar feadh tamaill , le haghaidh , nó lúb a dhéanamh . Rinne cur i bhfeidhm traidisiúnta AWK úsáid den sórt sin a bheith comhionann leis an gcéad ráiteas eile . Tacaíonn Gawk leis an úsáid seo más rud é - go bhfuil sainréiteach sonraithe.

GNU Leathnú

Tá roinnt síneadh ag Gawk chuig POSIX awk . Déantar cur síos orthu sa roinn seo. Is féidir na síntí uile a thuairiscítear anseo a chur faoi mhíchumas trí ghrúpaí a spreagadh leis an rogha - sheasmhach .

Níl na gnéithe seo a leanas de gawk ar fáil i POSIX awk .

*

Ní dhéantar aon chuardach cosáin do chomhaid ainmnithe tríd an rogha -f . Dá bhrí sin, níl athróg timpeallachta AWKPATH speisialta.

*

An seicheamh éalú \ x . (Míchumas le --posix .)

*

Feidhm flush () . (Míchumas le --posix .)

*

An cumas chun leanúint ar aghaidh línte ? agus :. (Míchumas le --posix .)

*

Constaicí octal agus heicteachta i gcláir AWK.

*

Níl na hathruithe ar ARGIND , BINMODE , ERRNO , LINT , RT agus TEXTDOMAIN speisialta.

*

Níl an t- athróg IGNORECASE agus a fo-iarmhairtí ar fáil.

*

An t- athróg FIELDWIDTHS agus scoilteadh réimse leithead socraithe.

*

Níl an tsraith PROCINFO ar fáil.

*

Úsáid RS mar léiriú rialta.

*

Ní aithnítear na hainmneacha comhaid speisialta atá ar fáil le haghaidh athréireáil I / O.

*

An & oibritheoir chun comh-phróisis a chruthú.

*

An cumas carachtair aonair a scoilt ag baint úsáide as an teaghrán null mar luach FS , agus mar an tríú argóint a scoilt () .

*

An dara argóint roghnach don fheidhm dhúnadh () .

*

An tríú argóint roghnach don fheidhm meaitseáil () .

*

An cumas chun sainchomhadóirí seiceála a úsáid le printf agus sprintf () .

*

Úsáid eagar scriosadh chun ábhar iomlán sraithe a scriosadh.

*

Úsáid an chéad chéim eile chun próiseáil an chomhaid ionchuir reatha a thréigean.

*

An agus () , asort () , bindtextdomain () , compl () , dcgettext () , gensub () , lshift () , mktime () , nó () , rshift () , strftime () , strtonum () , systime () agus xor () feidhmeanna.

*

Na teaghráin inrochtaine.

*

Feidhmeanna tógtha nua a chur leis go dinimiciúil leis an bhfeidhm síneadh () .

Ní shainmhíníonn leabhar AWK luach fillte na feidhme dlúth () . Fágann Gawk gar () an luach ó fclose (3), nó pclose (3), nuair a dhúnadh comhad aschuir nó píopa, faoi seach. Fágann sé stádas scoir an phróisis nuair a dhúnann sé píopa ionchuir. Is é -1 an luach fillte ná mura n-osclaíodh an comhad, an píopa nó an comhphróiseas ainmnithe le hathchur.

Nuair a dhéantar tagairt ar an gawk leis an rogha - réitigh , má tá an argóint fs leis an rogha -F `` t '', ansin tá FS leagtha síos sa charachtar cluaisín. Tabhair faoi deara go bhfuil gawk -F \ t clóscríofa ach go n-eascraíonn an bhlaosc `` t, '', agus ní théann `` \ t '' leis an rogha -F . Ós rud é gur cás speisialta ghránna é seo, ní hé an t-iompar réamhshocraithe é. Ní tharlaíonn an iompar seo freisin má tá --posix sonraithe. Chun carachtar cluaisín a fháil i ndáiríre mar an deighilteoir réimse, is fearr meastacháin aonair a úsáid: gawk -F '\ t' ....

Féach orduithe eile : fanacht , lp , iomlán , execv , getfacl , ioctl , uniq , rmmod , pvcreate , rsh , unix2dos , cal , fs , cd , iwpriv , swapon , autofs , talk , motd , free , lpr , execl , fdisk , ag , who , iwconfig , ifconfig , vgdisplay , open , lsmod , ntohs , mailq , kill , wtmp