Koyi da Dokar Linux - gawk

Sunan

gawk - nazarin kallon rubutu da sarrafawa

Synopsis

gawk [POSIX ko GNU style zažužžukan] -f fayil-fayil [ - ] fayil ...
gawk [POSIX ko GNU style zažužžukan] [ - ] shirin-rubutu fayil ...

pgawk [POSIX ko GNU salon zabin] -f fayil na shirin [ - ] fayil ...
pgawk [POSIX ko GNU zaɓuɓɓuka na zabin] [ - ] fayil -shirin rubutu ...

Bayani

Gawk shine aikin GNU na aiwatar da harshe na shirin AWK. Ya dace da ma'anar harshen a cikin POSIX 1003.2 Harshe Harshe da Masu Amfani. Wannan sigar yana dogara ne da bayanin a cikin AWK Shirya Harshe , ta Oho, Kernighan, da Weinberger, tare da ƙarin siffofin da aka samo a cikin System V Release 4 na UNIX awk . Gawk kuma yana samar da ƙarin kwantiragin Bell Laboratories abk , da kuma yawan kariyar GNU.

Pgawk shine sakon layi na gawk . Yana da m a kowace hanya zuwa gawk , sai dai waɗannan shirye-shiryen suna ci gaba da sannu a hankali, kuma ta atomatik yana samar da bayanan da aka yi a cikin fayil a lokacin da aka yi. Dubi zaɓi na --profile , a kasa.

Rukunin umarni yana kunshe da zaɓuɓɓuka don ƙaddara kanta, da shirin shirin AWK (idan ba a samar ta hanyar zaɓuɓɓukan -f ko -file ba), da kuma dabi'un da za a samuwa a cikin sassan ARGC da ARGV da aka ƙayyade AWK.

Zaɓin zaɓi

Zaɓuɓɓukan Gawk na iya zama kofin gargajiya POSIX guda ɗaya, ko GNU salon zabin dogon lokaci. Zaɓuka POSIX farawa tare da guda "` - ", yayin da dogon zaɓuka fara da" `-" '. An bayar da zaɓuɓɓukan dogon lokaci don duka fasali na GNU da kuma siffofin POSIX.

Bayan bin ka'idar POSIX, za a samar da zaɓuɓɓuka masu ƙira-dalla-dalla ta hanyar muhawara ga zaɓi -W . Za'a iya bada zaɓuɓɓuka -W zaɓuɓɓuka A kowannensu -W wani zaɓi yana da dogon dogon dogon lokaci, kamar yadda aka bayyana a kasa. Tambayoyi a kan dogon zaɓuɓɓuka an haɗa su tare da zaɓi ta hanyar alamar = , ba tare da wani wuri ba, ko za a iya ba su a cikin jigon umarni na gaba. Za a iya rage tsawon zaɓuɓɓuka, muddin raguwa ya kasance na musamman.

Zabuka

Gawk yarda da wadannan zaɓuɓɓuka, da aka jera a jerin su.

-F fs

--field-separator fs Yi amfani da fs don rabuwa na sashen shigarwa (darajan FS wanda aka riga aka zaɓa).

-v var = val

--assign var = val Ka ba da darajar val zuwa m var , kafin a aiwatar da shirin fara. Irin waɗannan dabi'u mai tsafta suna samuwa ga hanyar BEGIN na shirin AWK.

-f fayil-shirin

--file fayil din shirin Karanta tsarin shirin AWK daga fayil din fayil ɗin , maimakon daga layin jigon umarni na farko. Ana iya amfani da zaɓuɓɓuka mai yawa -f (ko --file ).

-mf NNN

-mr NNN Shirya ƙananan ƙwaƙwalwar ƙwaƙwalwar ajiya zuwa darajar NNN . F f na kafa iyakar adadi na filayen, kuma r ruri ya kafa matsakaicin adadin rikodin. Wadannan sifofin guda biyu da kuma -m na daga daga binciken binciken Laboratories na Bell UNIX awk . An manta da su ta gawk , tun da gawk ba shi da iyakacin iyaka.

-W compat

-W gargajiya

- baza

--traditional Run a yanayin dacewa . A yanayin daidaitawa, gawk yana nuna dabi'un zuwa UNIX awk ; babu wani karin bayani na GNU da aka gane. Amfani da - an riga an fi dacewa da sauran siffofin wannan zaɓi. Dubi GNU EXTENSIONS , a ƙasa, don ƙarin bayani.

-W copyleft

-W hakkin mallaka

--copyleft

--copyright Fitar da gajeren gajeren bayanin GNU na 'yancin mallaka a kan fitattun kayan aiki da fitarwa.

-W dump-variables [ = fayil ]

-dump-variables [ = fayil ] Shigar da jerin tsararru na masu canji na duniya, da nau'insu da ƙaddarar ƙarshe zuwa fayil . Idan ba a ba fayil ba, gawk yana amfani da fayil mai suna awkvars.out a cikin shugabanci na yanzu.

Samun jerin dukkanin wayoyin duniya shine hanya mai kyau don bincika kurakuran rubutu a cikin shirye-shirye naka. Zaka kuma yi amfani da wannan zaɓin idan kana da babban shirin tare da ayyuka masu yawa, kuma kana son tabbatar da cewa ayyukanka ba sa amfani da amfani da ɓangarorin duniya wanda ba zato ba tsammani da kake son zama na gida. (Wannan kuskure ne mai sauƙin sauƙaƙe tare da sauƙaƙe mai suna kamar i , j , da sauransu.)

-W taimako

-W amfani

--help

--usage Shigar da taƙaitacciyar taƙaitacce na zaɓuɓɓukan da ake samuwa a kan fitarwa na kwarai. (Dangane da GNU Coding Standards , waɗannan zaɓuɓɓuka suna haifar da hawan kai tsaye, nasarar nasara.)

-W lint [ = fatal ]

--lint [ = fatal ] Ka ba da gargadi game da ginin da suke da ban mamaki ko wadanda ba za a iya ɗaukar su ba ga sauran ayyukan da aka sanya su. Tare da shawara na zaɓi na m , lalata gargaɗin ya zama kuskuren fatalwa. Wannan yana iya zama mawuyaci, amma amfani da shi zai ƙarfafa cigaban shirye-shiryen AWK mai tsabta.

-W lint-old

- tsufa Ka ba da gargadi game da ƙayyadaddun da ba su da ɗauka zuwa ga ainihin asalin Unix awk .

-W gen-po

-gen-po Yi nazari da kuma ƙaddamar da shirin AWK, kuma ya samar da fayil na GNU .po a kan fitattun tsari tare da shigarwar duk igiyoyi da ke cikin shirin. Ba a kashe wannan shirin ba. Dubi rubutun GNU don samun ƙarin bayani akan fayilolin .po .po .

-W bayanai ba-ƙaddara ba

-non-decimal-data Sanar da octal da hexadecimal dabi'u a cikin bayanai shigarwa. Yi amfani da wannan zabin tare da taka tsantsan!

-W posix

--posix Wannan yana sauya yanayin daidaitawa , tare da ƙarin ƙuntatawa masu zuwa:

*

\ x hanyar tsere ba a gane ba.

*

Sai kawai sararin samaniya da shafin yi aiki a matsayin masu rarraba filin lokacin da aka saita FS zuwa wani wuri guda ɗaya, sabon layi ba.

*

Ba za ku iya ci gaba da layi ba bayan ? da kuma :.

*

Ba'a san ma'anar synonym func ba game da aikin da ake amfani da shi.

*

Masu aiki ** da ** = ba za a iya amfani su a maimakon ' da ^ = .

*

Ba a samo aikin fflush () ba.

-W profile [ = prof_file ]

--profile [ = prof_file ] Aika bayanan haɓaka zuwa prof_file . Labaran shi ne awkprof.out . A yayin da kake tafiya tare da gawk , bayanin martaba ne kawai a cikin '' kyakkyawar buga '' fasalin shirin. A yayin da yake tafiya tare da pgawk , bayanin martaba ya ƙunshi kisa akan kowane bayani a cikin shirin a gefen hagu kuma aikin ƙirar kira don kowane aiki da aka ƙayyade mai amfani.

-W sake sake lokaci

- jinkirta Yi amfani da amfani da maganganun lokaci a cikin kalma na yau da kullum daidai (duba Bayanin Ƙayyadaddun , a ƙasa). Ba a samo maganganu na al'ada ba a cikin harshen AWK. POSIX misali ya kara da su, don yin awk da egrep daidai da juna. Duk da haka, amfani da su na iya karya shirin AWK na baya, don haka gawk kawai yana ba su idan an nema su da wannan zaɓi, ko kuma lokacin da aka ƙayyade.

-W tushen shirin-rubutu

- yin amfani da rubutu na rubutu Yi amfani da rubutu-rubutu a matsayin lambar maɓallin shirin AWK. Wannan zaɓin ya ba da damar sauƙaƙe ayyukan ɗakunan karatu (amfani da maɓallin -f da -file ) tare da lambar tushe da aka shigar a kan layin umarni. Ana nufin farko don matsakaici zuwa manyan shirye-shiryen AWK da aka yi amfani da rubutun harshe.

-W version

--buban Bayanan wallafe-wallafe don wannan takaddama na gawk a kan fitarwa. Wannan yafi dacewa don sanin idan takardun gawk na yau a kan tsarin ku na yau da kullum game da duk abin da Free Software Foundation ke rarraba. Wannan kuma yana da amfani a lokacin da yake kwadaitar kwari. (Dangane da GNU Coding Standards , waɗannan zaɓuɓɓuka suna haifar da hawan kai tsaye, nasarar nasara.)

- Alamar ƙarshen zaɓuɓɓuka. Wannan yana da amfani don ƙyale ƙarin muhawarar shirin AWK don farawa tare da '`-' '. Wannan shi ne yafi dacewa da daidaituwa tare da yarjejeniyar da aka yi amfani da ita ta hanyar sauran shirye-shiryen POSIX.

A yanayin daidaitawa, ana nuna wasu zaɓuɓɓuka a matsayin marasa inganci, amma an ƙyale su. A cikin aiki na al'ada, idan dai an ba da matakan shirin, ba a san abubuwan da ba a sani ba zuwa shirin AWK a tashar ARGV don aiki. Wannan yana da amfani sosai don tafiyar da shirin AWK ta hanyar '`#!' '' '' '' Fassara '' fassara.

BABI NA KASHI KASHI

Shirin shirin na AWK ya ƙunshi nau'i na maganganu-ka'idodin aikin da kuma bayanan aiki na zaɓi.

Sharuɗɗa { maganganun maganganun }

sunan aiki ( jerin jerin ) { maganganun }

Gawk na farko ya karanta ma'anar shirin daga fayil ɗin (s) idan an kayyade shi, daga muhawara don --source , ko daga farkon jituwa marar zaɓi a kan layin umarni. Za a iya amfani da zaɓuɓɓuka -f da --source sau da yawa akan layin umarni. Gawk ya karanta rubutun shirin kamar dai duk dukkanin fayiloli na shirin da kuma rubutun tushen layin umarni an haɗa su tare. Wannan yana da amfani don gina ɗakunan karatu na ayyuka na AWK, ba tare da sun haɗa su a kowane sabon shirin AWK da ke amfani da su ba. Har ila yau, yana samar da damar haɓaka ayyukan ɗakin karatu tare da shirye-shirye na umurnin.

AWKPATH yanayin yanayi yana ƙayyade hanyar da ake nema don amfani a lokacin da aka gano fayilolin mai tushe tare da zaɓi -f . Idan wannan canza ba ta wanzu ba, hanyar da ta dace ita ce ".: / Usr / local / share / awk" . (Yanayin na ainihi zai iya bambanta, dangane da yadda aka gina gawk kuma an shigar.) Idan sunan fayil da aka ba da -f zaɓi yana ƙunshe da '`/' 'hali, ba a bincika hanya ba.

Gawk yana aiwatar da shirin AWK a cikin wannan tsari. Na farko, dukkan ayyukan da aka sanya ta hanyar tsafta ta hanyar zabin -v suna yin. Na gaba, gawk ya tattara shirin a cikin tsari na ciki. Sa'an nan kuma, gawk yana aiwatar da lambar a cikin BEGIN block (s) (idan wani), sa'an nan kuma ya zo ya karanta kowane fayil da ake kira a cikin tashar ARGV . Idan babu fayilolin da aka lakafta a kan layin umarni, gawk ya karanta shigarwar daidaitattun.

Idan sunan fayil a kan layin umarni yana da siffan var = val ana bi da shi azaman aiki mai sauƙi. Za'a sanya nau'in muni da zaɓin darajar val . (Wannan yana faruwa bayan an gama duk wani shinge na BEGIN .) Lissafi mai iyaka na umarni ya fi amfani ga ƙayyadaddun dabi'u ga masu kirkiro AWK yana amfani da su don sarrafa yadda shigarwa ya rushe cikin fannoni da rikodin. Har ila yau, yana da amfani ga sarrafawa jihar idan ana buƙatar wucewa da yawa a kan fayil guda ɗaya.

Idan darajar wani nau'i na ARGV ba kome ba ne ( "" ), gawk yana tsalle shi.

Ga kowane rikodin a cikin shigarwa, gwaje-gwajen gawk don ganin idan ya dace da kowane tsari a cikin shirin AWK. Ga kowane alamu cewa rikodin rikodin, an haɗa aikin da aka haɗa. An gwada alamu a cikin tsari da suke faruwa a wannan shirin.

A ƙarshe, bayan duk an shigar da labari, gawk yana aiwatar da lambar a cikin maɓallin END (idan akwai).

Abubuwan da ke Bambanci, Bayanai, da Ƙasa

AWK masu canji suna da tsauri; sun kasance a lokacin da aka fara amfani da su. Matsayin su shine ko dai lambobi ko lambobi, ko duka biyu, dangane da yadda ake amfani da su. Har ila yau, AWK yana da nauyin nau'i guda; Za a iya yin amfani da nau'i mai yawa tare da nau'i mai yawa. Da dama an riga an saita masu canji an saita a yayin gudanar da shirin; Waɗannan za a bayyana su da ake buƙatar kuma an taƙaice su a kasa.

Records

Yawanci, ana rabu da takardun ta hanyar sabbin lambobi. Za ka iya sarrafa yadda aka rabu da rahotannin ta hanyar sanya wasu lambobin zuwa ga RS mai ginawa. Idan RS yana da wani hali ɗaya, wannan hali ya raba bayanan. In ba haka ba, RS wata magana ce ta yau da kullum. Rubutu a shigar da ya dace da wannan magana na yau da kullum ya raba rikodin. Duk da haka, a cikin yanayin daidaitawa, kawai nauyin farko na darajar tamanin ana amfani dashi don raba bayanan. Idan RS an saita zuwa layi na null, to, an raba raguwa ta hanyar layi. Lokacin da aka saita RS zuwa layi na null, nau'in sabon layi yana aiki a matsayin mai rabaccen filin, ban da duk wani darajar FS .

Ƙungiyoyi

Kamar yadda aka karanta kowane labari rikodin, gawk ya rabu da rikodin a cikin filayen , ta amfani da darajan FS a matsayin mai raba shi. Idan FS shine hali ɗaya, ana raba raguwa ta wannan hali. Idan FS ita ce mai layi, to, kowane nau'in mutum ya zama filin daban. In ba haka ba, ana sa ran FS zata kasance cikakkiyar magana. A cikin akwati na musamman cewa FS shine wuri ɗaya, ana raba raguwa ta hanyar gudanar da sararin samaniya da / ko shafuka da / ko newlines. (Amma ga tattaunawa game da --posix , a ƙasa). NOTE: Tamanin IGNORECASE (duba ƙasa) yana rinjayar yadda za a rarraba filayen lokacin da FS ke magana akai-akai, da kuma yadda aka raba rahotannin lokacin da RS yake magana akai-akai.

Idan an saita maɓallin FIELDWIDTHS zuwa jerin tsararren sarari na lambobi, ana sa ran kowane filin yana da nisa madaidaicin, kuma gawk ta raba da rikodin ta amfani da ƙididdigun ƙayyadaddun. An ƙin darajar FS . Ƙaddamar da sabon ƙimar zuwa FS ya rinjayi amfani da FIELDWIDTHS , kuma ya sake daidaita halin da aka saba.

Kowace filin a cikin rikodin rikodin za'a iya yin la'akari da matsayinsa, $ 1 , $ 2 , da sauransu. $ 0 shine cikakken rikodin. Ba'a buƙaci filayen filin rubutu su kasance masu mahimmanci ba:

n = 5
buga $ n

wallafa filin na biyar a cikin rikodin shigarwa.

An saita NF mai lamba zuwa yawan yawan filayen a cikin rikodin shigarwa.

Abubuwan da aka nuna ga wuraren da ba a samuwa ba (watau filayen bayan $ NF ) suna samar da launi marar amfani. Duk da haka, ba da izini ga filin da ba samuwa (misali, $ (NF + 2) = 5 ) yana ƙara darajar NF , ya haifar da duk wani tasiri tare da maɓallin null kamar darajar su, kuma yana sa adadin $ 0 za a biya, tare da an raba filayen da darajar OFS . Hanyoyin da aka yi wa ƙananan layi suna haifar da kuskuren kuskure. NF yankewa ya sa dabi'u na filayen sun wuce sabon darajar da za a rasa, kuma ana kimanta darajar $ 0 , tare da filayen da aka raba ta darajar OFS .

Bayar da darajar ga filin da ke faruwa yana sa dukkanin rikodin za a sake gina lokacin $ 0 . Hakazalika, ƙaddamar da darajar da take da $ 0 tana sa rikodin ya fara, ƙirƙira sababbin dabi'u don filayen.

Bayanan da aka gina

Gawk ya ƙunshi masu canji sune:

ARGC

Adadin lambobin umurni na umurni (ba ya hada da zaɓuɓɓukan zuwa gawk , ko ma'anar shirin) ba.

ARGIND

Ƙididdiga a ARGV na fayil ɗin yanzu da aka sarrafa.

ARGV

Gudun hadisin layi. Rundin yana da alaƙa daga 0 zuwa ARGC - 1. Sauyawar sauya abun ciki na ARGV zai iya sarrafa fayilolin da aka yi amfani da su don bayanai.

BINMODE

A kan tsarin da ba POSIX ba, ya ƙayyade yin amfani da "yanayin binary" don dukkan fayilolin I / O. Ƙididdigar lambobi na 1, 2, ko 3, ƙayyade fayilolin shigarwa, fayilolin fitarwa, ko duk fayiloli, bi da bi, ya kamata amfani da I / O binary. Ƙaƙwalwar ƙirar "r" , ko "w" saka cewa fayilolin shigarwa, ko fayilolin fitarwa, bi da bi, ya kamata yin amfani da I / O binary. Ƙaƙwalwar ƙirar "rw" ko "wr" sune cewa duk fayiloli su yi amfani da I / O binary. Duk wani darajar kirki mai laushi kamar "rw" , amma yana haifar da saƙo mai gargadi.

CONVFMT

Tsarin juyawa don lambobi, "% .6g" , ta tsoho.

ENVIRON

Tsarin da ke dauke da dabi'u na halin yanzu. Dangantakar suna lissafinta ta hanyar canjin yanayi, kowane ɓangaren yana da darajar wannan canji (misali, ENVIRON ["HOME"] yana iya zama / gida / arnold ). Canja wannan tsararren ba zai tasiri yanayin da aka gani da shirye-shiryen da gawk ya tsara ta hanyar madaukakawa ko tsarin () ba.

ERRNO

Idan kuskuren tsarin ya auku ne ko dai ya yi maimaitawa don jingina , yayin da aka karanta don layi , ko kuma a lokacin kusa () , to, ERRNO zai ƙunshi kirtani da ke nuna kuskure. Darajar tana ƙarƙashin fassarar cikin wuraren da ba na Ingilishi ba.

FIELDWIDTHS

Tsarin sararin samaniya ya raba ragowar filin wasa. Lokacin da aka saita, gawk yana kaddamar da shigarwa cikin filayen gyarawa, maimakon yin amfani da darajan FS a matsayin mai raba gardama.

FILENAME

Sunan fayil din shigarwa yanzu. Idan babu fayilolin da aka ƙayyade akan layin umurnin, darajan FILENAME shine '`-' '. Duk da haka, FILENAME ba'a bayyana a cikin ɗakin BEGIN (sai dai idan an saita ta hanyar layi ).

FNR

Lambar rikodin shigarwa a cikin fayil din shigarwa.

FS

Zabin mai shigar da shigarwa, sarari ta hanyar tsoho. Duba Fields , a sama.

IGNORECASE

Gudanar da ƙwaƙwalwar ajiyar kowane hali na yau da kullum da kuma yin amfani da layi. Idan IGNORECASE yana da nau'i maras sifƙa , to, daidaitattun launi da daidaituwa daidai da ka'idoji, rabawa tare da FS , rikodin rikodin tare da RS , kalma na yau da kullum daidai da ~ da ! ~ , Da peopleub () , gsub () , index () , wasan () , tsaga () , da kuma sub () ayyukan da aka gina su duka suna watsi da idanun lokacin yin aiki na yau da kullum. NOTE: Rubuce-rubuce na array ba zai shafi ba, kuma ba aikin (ort) ba.

Sabili da haka, idan IGNORECASE ba daidai ba da kome, / aB / ya dace da dukkan kalmomin "ab" , "AB" , "Ab" , da "AB" . Kamar yadda dukkanin canje-canjen AWK, ƙimar farko na IGNORECASE ba kome ba ne, don haka duk maganganu na yau da kullum da kuma yin amfani da layi suna da mahimmancin hali. A karkashin Unix, ana amfani da cikakkiyar ma'aunin haƙƙin halayen Latin 8859-1 Latin-1 lokacin da ba a kula da akwati ba.

LINT

Yana bada iko mai dorewa na zaɓi na - daga cikin shirin AWK. Idan gaskiya ne, gawk ya wallafa labaran lint. Lokacin da karya, ba haka ba. Lokacin da aka sanya darajar kirtani "fatal" , ladaran launi ya zama kurakurai maras kyau , daidai kamar --lint = m . Duk wani hakikanin gaskiya gaskiya kamar wallafa gargadi.

NF

Yawan filayen a cikin rikodin shigarwar yanzu.

NR

Jimlar adadin shigarwar da aka gani a yanzu.

OFMT

Tsarin fitarwa don lambobi, "% .6g" , ta tsoho.

OFS

Zaɓin mai rarraba kayan aiki, sarari ta hanyar tsoho.

ORS

Mai rikodin rikodin fitarwa, ta hanyar tsoho sabon layi.

BABI NA

Abubuwan da ke cikin wannan tashar suna samar da damar samun bayanai game da shirin AWK na gudana. A wasu tsarin, akwai abubuwa a cikin tsararren, "group1" ta hanyar "rukuni na " don wasu n , wanda shine adadin ƙananan ƙungiyoyi wanda tsarin yake. Yi amfani da shi a cikin mai aiki don gwada waɗannan abubuwa. Abubuwan da ke biyowa sun tabbatattun suna samuwa:

PROCINFO ["egid"]

darajar kiran tsarin samun (2).

PROCINFO ["m"]

darajar samun samfurin (2) tsarin.

PROCINFO ["FS"]

"FS" idan raguwa ta rabu da FS yana cikin sakamako, ko "FIELDWIDTHS" idan raguwa ta rabu tare da FIELDWIDTHS yana cikin sakamako.

PROCINFO ["gid"]

darajar daftarwar (2) tsarin tsarin.

BABI NA ["pgrpid"]

ID na ƙungiyar tsari na tsarin yanzu.

PROCINFO ["pid"]

ID game da tsarin yanzu.

PROCINFO ["shafi"]

ID tsarin iyaye na halin yanzu.

PROCINFO ["uid"]

darajar samun wayar salula (2).

RS

Mai rikodin rikodin rikodi, ta hanyar tsoho sabon layi.

RT

Mai rikodin rikodin. Gawk ya kafa RT zuwa rubutun shigarwa wanda ya dace da hali ko magana ta yau da kullum ta RS .

RSTART

Ƙididdiga na hali na farko wanda ya dace da wasan () ; 0 idan babu wasa. (Wannan yana nuna cewa alamun halayen ya fara a daya.)

RLENGTH

Tsawon layin da aka daidaita da wasa () ; -1 idan babu wasa.

SUBSEP

Halin da ake amfani da su don raba rahotannin ƙididdiga a cikin abubuwan tsararru, ta hanyar tsoho "\ 034" .

TEXTDOMAIN

Yankin rubutun shirin AWK; An yi amfani da su don gano fassarorin da aka fassara don jerin igiyoyi na shirin.

Arrays

An sanya takardun shaida tare da nunawa a tsakanin shafukan madauki ( [ da ] ). Idan bayanin kalma ne ( expr , expr ...) sannan rubutun tsararren ya zama kirtani wanda ya ƙunshi ƙaddamar da ƙimar kowane nau'i, wanda ya rabu da ƙimar zaɓin SUBSEP . Anyi amfani da wannan makaman don daidaitawa da yawa girman kayan aiki. Misali:

i = "A"; j = "B"; k = "C"
x [i, j, k] = "sannu, duniya \ n"

Ya sanya layin "sannu, duniya \ n" zuwa rabuwa na jigon x wanda aka kirkiro shi ta igiya "A \ 034B \ 034C" . Dukkanin fina-finai a cikin AWK suna haɗaka, watau ma'ana ta hanyar dabi'u.

Ana iya amfani da afareta na musamman a cikin idan ko yayin da bayani zai gani idan wani rukunin yana da alaƙa wanda ya ƙunshi wani ƙimar.

idan (val a cikin tsararra) buga tsararraki [val]

Idan rukunin yana da ƙididdiga masu yawa, yi amfani (i, j) a cikin tsararru .

Za'a iya amfani da wannan a cikin maɗaukaki domin yin nazari a kan dukkan abubuwa na tsararru.

Ana iya share wani ɓangaren daga wani tsararren ta amfani da bayanan sharewa . Za a iya amfani da sanarwar sharewa don share duk abin da ke ciki na tsararren, kawai ta hanyar tantance sunan mahaifi ba tare da wani biyan kuɗi ba.

Canji Rubutun Kuma Juyawa

Bambanci da filayen na iya zama (lambobi na iyo), ko igiyoyi, ko duka biyu. Yaya darajan mai canzawa ya dogara ne akan mahallin sa. Idan an yi amfani da shi a cikin maɓallin lambobi, za a bi da shi azaman lamba, idan aka yi amfani da shi azaman kirtani za a bi shi a matsayin kirtani.

Don tilasta mai sauƙi don a bi da shi azaman lamba, ƙara 0 zuwa gare shi; don tilasta shi da za a bi shi a matsayin kirtani, a sanya shi tare da layi na null.

Lokacin da kirtani dole ne a canza zuwa lamba, za'a canza fasalin ta amfani da strtod (3). Lambar da aka juya zuwa kirtani ta amfani da darajar CONVFMT a matsayin ma'anar layi don zane-zane (3), tare da darajar lambobi na m kamar yadda gardama. Duk da haka, kodayake duk lambobi a cikin AWK sune-wuri, halayen haɓaka suna canzawa kullum a matsayin mahaɗan. Ta haka, aka ba

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

da m b yana da darajar darajar "12" kuma ba "12.00" ba .

Gawk yayi kwatancen haka kamar haka: Idan wasu lambobi biyu sune lambobi, an kwatanta su da yawa. Idan darajar ɗaya ta ƙidaya kuma ɗayan yana da darajar igiya mai mahimmanci wanda shine '' nau'in maɓallin digiri, '' to, ana kwatanta kwatancen lambobi. In ba haka ba, ana amfani da darajar lambobi zuwa kirtani kuma ana yin kwatancin kirtani. Ana kwatanta igiyoyi biyu, ba shakka, kamar yadda kirtani. Lura cewa ka'idar POSIX ta shafi manufar '' nau'in maɓalli '' a ko'ina, har ma da maɗaura. Duk da haka, wannan ba daidai ba ce, kuma gawk ba ya yin haka. (Abin farin, wannan an saita shi a cikin na gaba.)

Lura cewa maƙalantin rikitarwa, kamar "57" , ba ƙidayar igiya ba ne, sun kasance maƙallan kirtani. Ma'anar '' string string '' kawai ya shafi fannoni, shigarwa ta hanyar jeri , FILENAME, abubuwa ARGV , abubuwan ENVIRON da abubuwan da aka tsara ta tsaga () waɗanda ƙirar lambobi ne. Manufar mahimmanci ita ce shigarwar mai amfani , kuma kawai shigarwar mai amfani, wanda ya dubi numfashi, ya kamata a bi ta haka.

Ƙididdigar da ba a haɗa ba suna da nauyin lambobi 0 da darajar string "" (maɓalli, ko komai, kirtani).

Marubutan Octal da Hexadecimal

Farawa tare da version 3.1 na gawk, zaka iya amfani da ƙa'idodin C-style da hexadecimal a cikin code din shirin shirin AWK. Alal misali, adadin octal 011 yana daidaita da decimal 9 , kuma nauyin hexadecimal 0x11 yana daidaita da decimal 17.

Ƙungiyoyi na igiya

Ƙungiyoyin shinge a cikin AWK sune jerin jerin haruffan da aka haɗa tsakanin kalmomi biyu ( " ). A cikin igiyoyi, an gane wasu tsattsauran matakan, kamar yadda a C. Wadannan sune:

\\

Tsarin ido na ainihi.

\ a

Halin '' faɗakarwa ''; yawanci ma'anar ASCII BEL.

\ b

bayanan baya.

\ f

hanyar-fom.

\ n

newline.

\ r

karusar dawowa.

\ t

shafin kwance.

\ v

shafin tsaye.

\ x lambobi hex

Halin da ake wakilta ta layi na lambobin hexadecimal bayan bin \ x . Kamar yadda a ANSIC, duk bin wadannan lambobin haɗin gwal yana dauke da wani ɓangare na jerin fassarar. (Wannan yanayin ya kamata ya gaya mana wani abu game da zane-zanen harshe.) Misali, "\ x1B" shine yanayin ASCIIESC (tserewa).

\ ddd

Halin da ake nunawa na 1-, 2-, ko 3-digit jerin lambobin octal. Alal misali, "\ 033" shine yanayin ASCII ESC (tserewa).

\ c

Nau'in halayen c .

Za a iya amfani da jerin sauye-sauye cikin maganganun na yau da kullum (misali, / [\ t \ f \ n \ r \ v] / matches na haruffan launin fata).

A yanayin daidaitawa, halayen haruffan octal da hexadecimal wadanda aka wakiltar su suna bi da su a yayin da suke amfani da su a cikin maganganun yau da kullum. Saboda haka, / 52 \ / daidai yake da / a \ * b / .

Misalai da Ayyuka

AWK harshe ne mai layi. Tsarin ya zo da farko, sa'an nan kuma aikin. Bayanan aikin da aka haɗa a { da } . Ko dai alamar zata iya ɓace, ko aikin zai iya ɓacewa, amma, ba shakka ba, ba duka ba. Idan an rasa alamar, ana aiwatar da aikin saboda kowane rikodin shigarwa. Ɗaukaka aiki daidai ne da

{buga}

wanda ya wallafa dukan rikodin.

Comments fara da '' # '' hali, kuma ci gaba har zuwa karshen layin. Za a iya amfani da layin layi don raba maganganun. Yawanci, wata sanarwa ta ƙare tare da sabon layi, duk da haka, wannan ba shine yanayin ga layin da ke ƙare a '`,' ', { , ? , : , && , ko || . Lines da suka ƙare a yi ko kuma suna da maganganun su ta atomatik a kan layi na gaba. A wasu lokuta, za a iya ci gaba da layi ta hanyar kawo karshen shi tare da ', a yayin da aka ƙyale sabon layin.

Maganganu masu yawa za a iya sanya su a kan layi ɗaya ta hanyar raba su da '`;' '. Wannan ya shafi duka maganganun a cikin ɓangaren aiki na aiki guda biyu (sababbin lokuta), da kuma maganganun da suka dace da su.

Misalai

AWK alamu na iya zama ɗaya daga cikin wadannan:

KASHE KASHE / kalma na yau da kullum / alamar maganganu && alamu na zane || tsarin alamu ? alamu : alamu ( alamu ) ! misali pattern1 , pattern2

GASKIYA da ƙarewa biyu nau'i ne na musamman waɗanda ba a gwada su ba game da shigarwa. Ayyukan sassan dukkanin siffofin BEGIN an haɗa su kamar dai an rubuta dukkanin maganganun a cikin ɗayan BEGIN guda ɗaya. An kashe su kafin wani labari ya karanta. Bugu da ƙari, duk ƙungiyoyi na END suna haɗawa, kuma an kashe su yayin da duk shigarwar ya ƙare (ko lokacin da aka fitar da sanarwar fita ). GABA DA DUNIYA DUNIYA ba za a iya haɗa su tare da wasu alamu a cikin maganganu ba. GABA DA DUNIYA DUNIYA ba zai iya ɓata ayyukan ɓangare ba.

Don / maganganu na yau da kullum / alamu, an yi bayanin bayanin da aka danganta don kowane rikodin shigarwa wanda ya dace da furcin na yau da kullum. Kalmar maganganu iri ɗaya ne kamar waɗanda suke a cikin egrep (1), kuma an taƙaita su a kasa.

Magana mai dangantaka zai iya amfani da duk wani mai aiki wanda aka bayyana a kasa a sashi a kan ayyukan. Wadannan suna gwada ko wasu wurare suna daidaita wasu maganganun yau da kullum.

Da && , || , kuma ! masu aiki su ne mahimmanci NA, ma'ana OR, da kuma fasali na asali, kamar dai yadda suke a C. Suna yin la'akari da gajeren lokaci, kamar yadda C yake, kuma an yi amfani dasu don haɗawa da maganganu masu mahimmanci. Kamar yadda a cikin yawancin harsuna, ana iya amfani da iyayengirai don canza tsari na kimantawa.

Kamfanin mai aiki kamar kamfani guda ɗaya ne na C. Idan matsala ta farko ta kasance gaskiya to sai alamar da aka yi amfani dashi don gwaji shi ne na biyu, in ba haka ba shine na uku. Nuna ɗaya daga na biyu da na uku alamu an kimanta.

Sakamakon misali , model2 irin wannan magana ana kiranta nau'in samfurin . Ya dace da duk bayanan rubutun da suka fara da rikodin da ya dace da matsala1 , kuma ya ci gaba har sai rikodin da yayi daidai da model2 , hada. Ba ya haɗu tare da wani irin nau'i na nunawa.

Bayanai na yau da kullum

Maganganu na yau da kullum sune samfurin da aka samu a egrep . Sun hada da haruffa kamar haka:

c

ya dace da wadanda ba a ba da misali c .

\ c

daidai da halayen rubutu c .

.

ya dace da kowane hali ciki har da sabon layi.

^

ya dace da farkon kirtani.

$

ya dace da ƙarshen kirtani.

[ abc ... ]

jerin halayen, ya dace da duk wani haruffa abc ....

[^ abc ... ]

jerin halayen haɓaka, ya dace da kowane hali sai dai abc ....

r1 | r2

Sauyawa: matakai ko r1 ko r2 .

r1r2

concatenation: matches r1 , sa'an nan kuma r2 .

r +

dace da ɗaya ko fiye.

r *

zero matakan ko fiye.

r ?

zero daya ko daya.

( r )

raga: matches r .

r { n }

r, n }

r, n } Lambobi guda ɗaya ko biyu a cikin takalmin gyare-gyare suna nuna kalma tsakanin lokaci . Idan akwai lamba guda a cikin takalmin gyare-gyare, za a maimaita maimaitawar furcin lakabi na farko a lokuta sau. Idan akwai lambobi guda biyu da suka rabu da wata wakafi, an sake maimaita shi zuwa sau m . Idan akwai lamba guda biye da takaddama, sa'annan an sake maimaita shi a kalla sau sau.

Ana iya samun maganganun lokacin kawai idan an yi la'akari - iyaye ko --re-lokaci akan layin umarni.

\ y

ya dace da kirtani maras kyau a ko dai farkon ko ƙarshen kalma.

\ B

ya dace da kirki marar lahani a cikin kalma.

\ <

ya dace da kirtani maras kyau a farkon kalma.

\>

ya dace da kirtani maras amfani a ƙarshen kalma.

\ w

daidai da kowane nau'i-nau'i-nau'i (harafi, lambar, ko nunawa).

\ W

ya dace da duk wani hali wanda ba mawallafi ba.

\ `

ya dace da kirtani mai laushi a farkon buffer (kirtani).

\ '

ya dace da kirtani mai lalacewa a ƙarshen buffer.

Yanayin tseren da ke aiki a cikin kirtani na kirtani (duba ƙasa) suna da tasiri a maganganu na yau da kullum.

Ayyukan dabi'a sune sabon fasalin da aka gabatar a cikin tsarin POSIX. Yanayin hali shine ƙwarewa na musamman don kwatanta lissafin haruffa waɗanda suke da wata alaƙa ta musamman, amma inda ainihin ainihin haruffan kansu zasu iya bambanta daga ƙasa zuwa ƙasa da / ko daga yanayin haruffa zuwa tsari na hali. Alal misali, ra'ayi na abin da yake halayyar haruffa ya bambanta a Amurka da Faransa.

Yanayin halayen kawai yana aiki ne kawai a cikin layi na yau da kullum a cikin madatsai na lissafin hali. Ayyukan dabi'un sun ƙunshi [: , ma'anar kalmomin da ke nuna ɗayan, kuma :] . Halin halin da aka tsara ta POSIX misali shine:

[: alnum:]

Alphanumeric characters.

[: alpha:]

Tsarin haruffa.

[: blank:]

Space ko rubutun shafi.

[: cntrl:]

Lambobin sarrafawa.

[: lambar:]

Rubutun lambobi.

[zane:]

Abubuwan da suke da alamar suna da bayyane. (A sararin samaniya yana iya bugawa, amma ba a bayyane ba, yayin da wani abu yake.)

[: ƙananan:]

Ƙananan haruffan haruffa.

[: buga:]

Hoto da aka buga (haruffan da basu da haruffa.)

[: punct:]

Rubutun kalmomi (haruffan da basa wasiƙa, lambobi, haruffan haruffa, ko harufan sararin samaniya).

[: sarari:]

Rubutun sararin samaniya (kamar sarari, tab, da kuma sanyawa, don suna wasu).

[: babba:]

Matsanancin haruffa na haruffa.

[: xdigit:]

Abubuwan da suke da lambobi hexadecimal.

Alal misali, kafin tsarin POSIX, don daidaita kalmomin alphanumeric, kuna da rubuta / [A-Za-z0-9] / . Idan tsarin sa yana da wasu haruffan haruffa a ciki, wannan ba zai dace da su ba, kuma idan an tsara nauyin sa daga daban-daban daga ASCII, wannan bazai dace da ma'anar ASCII alphanumeric. Tare da nau'in halayen POSIX, zaka iya rubuta / [[: alnum:]] / , kuma wannan ya dace da haruffan haruffa da lambobi a cikin saitunan hali.

Ƙarin ƙarin nau'i na musamman na iya bayyana a cikin jerin halayen. Wadannan sun shafi tsarin halayen ASCII, wanda zai iya samun alamomi guda (wanda ake kira masu haɗakarwa ) waɗanda aka wakilta da nau'in haruffa fiye da ɗaya, da kuma haruffa da yawa waɗanda suka dace don haɗawa , ko rarraba, dalilai. (Alal misali, a cikin Faransanci, a fili "` e "da kuma kabari-accented e suna daidai.)

Rubuta Alamomin

Alamar da aka haɗawa shine nau'in haɓakawa da yawa da aka haɗa a [. da .] . Alal misali, idan ch wani abun haɓakawa ne, to, [[.ch.]] Kalma ne na yau da kullum wanda ya dace da wannan haɓakawa, yayin da [ch] wani furci ne na yau da kullum da ya dace da c ko h .

Ƙungiyoyin kwastam

Sakamakon daidaitattun kayan aiki shine sunan musamman na gida don jerin sunayen haruffa waɗanda suke daidai. Sunan yana cikin [= da =] . Alal misali, za a iya amfani da sunan e wakiltar dukkan '`e,' '' e ',' 'da'` e '.' 'A wannan yanayin, [[= e =]] kalma ce ta yau da kullum daidai da kowane e , e ' , ko e` .

Wadannan siffofin suna da matukar muhimmanci a wuraren da ba na Turanci ba. Ayyukan ɗakin karatu da gawk ke amfani da shi na yau da kullum da aka saba daidai ne kawai ya gane POSIX halayen halayen; ba su fahimtar yin musayar alamomi ko kwarewa ba.

Da \ ,, B , \ < , \> , \ w , \ W , \ " , da \ ' masu aiki suna da takamaiman gawk ; Sunan kari ne bisa ga kayan aiki a cikin ɗakunan karatu na GNU na yau da kullum.

Hanyoyi iri-iri masu sarrafawa suna kula da yadda gawk yana fassara haruffa cikin maganganun yau da kullum.

Babu zaɓuɓɓuka

A cikin yanayin da ya faru, gawk yana samar da dukkan wuraren da POSIX ke yin amfani da su akai-akai da kuma masu amfani na GNU na yau da kullum da aka bayyana a sama. Duk da haka, ba a tallafawa maganganun bazara.

--posix

Kawai POSIX maganganun yau da kullum suna goyan baya, masu sarrafa GNU ba na musamman ba ne. (Misali, \ w daidai da w ). Ana bada izinin maganganu.

--traditional

Hakanan maganganu na yau da kullum na Unix suna daidaita. Ayyukan GNU ba na musamman ba ne, maganganun bazara ba su samuwa, kuma ba ma'anar halayen POSIX ba ne ( [[: alnum:]] da sauransu). Abubuwan da aka bayyana ta hanyar ta hanyar octal da hexadecimal za a bi da su a zahiri, koda kuwa suna wakiltar maganganun magana guda uku metacharacters.

- lokaci-lokaci

Bayar da maganganun lokaci tsakanin maganganu na yau da kullum, koda kuwa - an riga an ba da mahimmanci.

Ayyuka

Ana yin bayanin maganganun aiki a cikin takalmin, { da } . Maganganun aiki sun ƙunshi aikin da aka saba da shi, ƙaddara, da kuma maganganun da aka samo a cikin yawancin harsuna. Masu aiki, maganganun maganganu, da bayanan shigarwa / fitarwa sun samo asali bayan waɗanda ke cikin C.

Masu aiki

Masu aiki a cikin AWK, saboda ƙaddamarwa, suna

( ... )

Ƙungiya

$

Fassara filin.

++ -

Ƙarawa da ƙetare, da mahimmanci da rubutu.

^

Exponentiation ( ** za'a iya amfani da shi, kuma ** = don afaretan aikin).

+ -!

Unary da, unary minus, da kuma ma'ana gwagwarmaya.

* /%

Multiplication, rarraba, da kuma tsarin.

+ -

Bugu da ƙari.

sarari

Ƙungiyar ƙaddamarwa.

<>

<=> =

! = == Abokan hulɗa na yau da kullum.

~! ~

Regular magana wasan, wasan da ya dace. NOTE: Kada ka yi amfani da wata kalma ta yau da kullum ( / foo / ) a gefen hagu na ~ ~!! . Yi amfani kawai a gefen dama. Kalmar / foo / ~ exp tana da ma'ana kamar (($ 0 ~ / foo /) ~ exp ) . Wannan ba yawanci ba abin da aka nufa ba.

in

Array memba.

&&

Ma'ana DA.

||

Magana KO.

?:

C maganganun C. Wannan yana da siffar expr1 ? expr2 : expr3 . Idan expr1 gaskiya ne, darajar kalma ita ce expr2 , in ba haka ba expr3 . Ɗaya daga cikin expr2 da expr3 an kimanta.

= + = - =

* = / =% = ^ = Matsayi. Dukkanin ayyuka na musamman ( var = darajar ) da kuma aikin afareto (wasu siffofin) ana goyan baya.

Bayanin Sarrafa

Kalmar maganganun kamar haka:

idan ( sanarwa ) sanarwa [ wani bayani ] yayin da bayanin ( yanayin ) ya yi bayani yayin da ( yanayin ) don bayani ( expr2 ; expr3 ) don ( var in array ) sanarwa bayani ci gaba da share tsararru [ index ] share fitowar fita [ furucin ] { maganganun }

Bayanin / I / O

Bayanan shigarwa / fitarwa sune kamar haka:

kusa ( fayil [ , yadda ] )

Kusa fayil, bututu ko co-tsari. Zaɓin zaɓin yadda za a yi amfani da ita kawai lokacin da rufe ƙarshen ƙarshen ƙwaƙwalwar hanya guda biyu zuwa wani tsari. Dole ne ya kasance mai daraja, ko dai "to" ko "daga" .

farfadowa

Saita $ 0 daga bayanan shigarwa na gaba; saita NF , NR , FNR .

raga < fayil

Saita $ 0 daga bayanan fayil na gaba ; saita NF .

jigon fassarar

Saita bambanta daga rubutun shigarwa na gaba; saita NR , FNR .

Jirgin hanyoyi var < fayil

Saita bambanta daga bayanan fayil na gaba .

umurnin | jigon hanyoyi [ var ]

Umurnin gudu yana maida fitarwa ko dai a cikin $ 0 ko var , kamar yadda a sama.

umarni | & jaddada [ var ]

Umurnin gudu kamar yadda ake aiwatarwa tare da fitar da kayan aiki ko dai a cikin $ 0 ko var , kamar yadda a sama. Matakan Co-tafiyar matakai ne.

gaba

Tsaya yin aiki da rikodin shigarwa na yanzu. Ana karanta karatun bayanan na gaba kuma aiki yana farawa tare da tsari na farko a cikin shirin AWK. Idan ƙarshen bayanan shigarwa ya isa, toshe END (s), idan akwai, an kashe.

na gaba

Dakatar da sarrafa fayil ɗin shigarwa yanzu. Lissafin rikodin shigarwa na gaba ya fito daga fayil na shigarwa na gaba. FILENAME da ARGIND an sabunta, FNR an sake saiti zuwa 1, kuma aikin farawa tare da tsarin farko a cikin shirin AWK. Idan ƙarshen bayanan shigarwa ya isa, toshe END (s), idan akwai, an kashe.

bugawa

Ya buga rikodin yanzu. An ƙaddamar da rikodin fitarwa tare da darajar lambobin ORS .

bugu -lissafi

Rubuta maganganu. Kowane sashe yana rabu da darajar daftarin OFS . An ƙaddamar da rikodin fitarwa tare da darajar lambobin ORS .

bugu -jerin > fayil

Rubuta maganganu akan fayil . Kowane sashe yana rabu da darajar daftarin OFS . An ƙaddamar da rikodin fitarwa tare da darajar lambobin ORS .

shafi na fmt, bayanan lissafi

Tsarin da bugawa.

shafi na fmt, fasali > fayil

Tsarin da buga a fayil .

tsarin ( cmd-line )

Kashe umurni cmd-layin , kuma dawo da matsayi na fita. (Wannan bazai samuwa a kan tsarin ba POSIX ba.)

fflush ( [ file ] )

Cire duk wasu buffers da ke haɗe da fayil ɗin fitowa ko fayil din fitarwa. Idan fayil ya ɓace, to, an fitar da fitarwa ta al'ada. Idan fayiloli shi ne igiya maras kyau, to, duk fayilolin kayan buɗewa da pipes suna da buƙatunsu.

Ana ba da izinin ƙarin fitarwa don bugawa da bugawa .

bugu ... >> fayil

ya bayyana fitarwa zuwa fayil din .

bugu ... | umurnin

ya rubuta a kan wani bututu.

bugu ... | & umarni

aika bayanai zuwa wani tsari tare.

Dokar jeri ta dawo 0 a ƙarshen fayil da -1 akan kuskure. Bayan kuskure, ERRNO yana ƙunshe da kirtani dake kwatanta matsalar.

NOTE: Idan amfani da bututu ko co-tsari don yin jeri , ko daga buga ko bugawa a cikin wani madauki, dole ne ka yi amfani da kusa () don ƙirƙirar sababbin lokuta na umurnin. AWK ba ta rufe motsi ta atomatik ko hanyoyin haɗin gwiwa idan sun dawo EOF.

Bayanan bugawa

Siffofin AWK na bayanan bugawa da kuma aiki na sprint () (duba ƙasa) sun yarda da fasalin bayani na hira da hira:

% c

Halin halin ASCII. Idan hujjar da aka yi amfani dashi na % c shine lamari, ana bi da shi azaman halin da aka buga. In ba haka ba, ana tsayayyar gardama a matsayin kirtani, kuma kawai nauyin farko na wannan layi ana bugawa.

% d , % i

Lambar adadi (sashi mai lamba).

% e,% E

Lambar maɓalli mai siffar ruwa [-] d.dddddde [+ -] dd . Halin % E yana amfani da E maimakon e .

% f

Lambar maɓalli mai saurin ruwa [-] ddd.dddddd .

% g,% G

Amfani da % e ko % f , duk wanda ya fi guntu, tare da marasa rinjaye zeros ya ƙare. Halin % G yana amfani da % E a maimakon % e .

% o

Wani marar lamba octal lambar (kuma wani lamba).

% ƴan lambar ƙaddamarwa mara kyau (sake, lamba).

% s

Kyakkyawan hali.

% x,% X

Lambar hexadecim marar amincewa (lamba). Tsarin % X yana amfani da ABCDEF maimakon abcdef .

%%

Halin guda guda; babu wata hujja da aka tuba.

Zaɓuɓɓuka, ƙarin sigogi na iya karya tsakanin % da wasikar sarrafawa:

ƙidaya $

Yi amfani da ƙidaya 'gardama a wannan batu a cikin tsarawa. Ana kiran wannan mai ƙayyadaddun wuri kuma an yi nufin shi ne don amfani a jujjuyoyin fassarar magunguna, ba cikin rubutun asali na shirin AWK ba. Yana da tsawo gawk .

-

Wajibi ne a bar wannan magana a cikin filinsa.

sarari

Don ƙididdigar lambobi, haɓaka dabi'u masu kyau tare da sararin samaniya, da dabi'u mara kyau tare da alamar musa.

+

Alamar da ta fi amfani da ita, kafin a yi amfani da madaidaicin gyare-gyare (duba ƙasa), ya ce a koyaushe ya ba da alamar alamar juyawa, ko da idan bayanan da aka tsara shi ne tabbatacce. A + rinjaye saurin sararin samaniya.

#

Yi amfani da '' madaidaicin tsari '' don wasu haruffa haruffa. Don % o , samar da wani abu mai mahimmanci. Domin % x , da % X , suna samar da manyan 0x ko 0X don sakamako mai banki. Don % e , % E , da % f , sakamakon yana ƙunshe da mahimman ƙira. Don % g , da % G , baza'a iya cirewa daga sakamakon ba.

0

Wani abu mai mahimmanci (zero) yana aiki a matsayin tutar, wanda ya nuna cewa fitarwa ya kamata a kwashe shi da zeroes maimakon wurare. Wannan ya shafi ma'anar samfurori marasa mahimmanci. Wannan tutar yana da tasiri lokacin da filin ya fi girma fiye da darajar da za a buga.

nisa

Ya kamata a saka filin zuwa wannan nisa. An filayen filin ne da wurare. Idan an yi amfani da tutar 0 , an ninka shi da zeroes.

. daidai

Lambar da ta ƙayyade ainihin amfani da lokacin bugu. Ga siffofin % e , % E , da % f , wannan yana ƙayyade yawan adadin da kake son bugawa zuwa dama na maɓallin decimal. Ga siffofin % g , da % G , yana ƙayyade matsakaicin yawan lambobi masu mahimmanci. Ga siffofin % d , % o , % i , % u , % x , da % X , yana ƙayyade ƙananan yawan lambobi don bugawa. Don % s , yana ƙayyade yawan adadin haruffa daga layin da ya kamata a buga.

Ƙaƙƙarfan ƙarfin hali da ƙwarewar abubuwan da aka tsara na ANSI C na bugawa () suna tallafawa. A * a madadin ko dai nisa ko ƙayyadaddun takaddun shaida ya sa ana karɓar dabi'un su daga jerin jayayya zuwa bugawa ko sprintf () . Don amfani da maƙallan ƙaddarar wuri tare da tsayin daka ko daidaitattun, samar da ƙidaya $ bayan * a cikin tsararren layi. Alal misali, "% 3 $ * 2 $. * 1 $ s" .

Sunayen Sunan Musamman

Yayin da kake yin maɓallin I / O daga ko dai bugawa ko bugawa a cikin fayil, ko kuma ta hanyar jeri daga fayil, gawk ya gane wasu filenames na musamman. Wadannan filenames sun ba da dama ga bude bayanan fayiloli wanda ya gaji daga tsarin iyaye na gawk (yawanci harsashi). Ana iya amfani da wadannan sunayen fayilolin a kan layin umarni don suna fayilolin bayanai. Filenames sune:

/ dev / stdin

Daidaitaccen shigarwar.

/ dev / stdout

Daidaitaccen tsari.

/ dev / stderr

Sakamakon kuskuren kuskure.

/ dev / fd / n

Fayil din da ke hade da bayanin rubutun bude fayil n .

Waɗannan su ne musamman amfani ga saƙonnin kuskure. Misali:

buga "Ka hura shi!" > "/ dev / stderr"

alhãli kuwa kuna iya amfani da ita

buga "Ka hura shi!" | "cat 1> & 2"

Za'a iya amfani da waɗannan filenames na musamman tare da mai gudanarwa na | & co-aiwatar don samar da haɗin TCP / IP.

/ inet / tcp / lport / rhost / rport

Fayil don tashar TCP / IP akan tashar tashar jiragen ruwa na gida zuwa babbar ƙaho mai karɓa a tashar tashar jiragen ruwa mai nisa. Yi amfani da tashar jiragen ruwa na 0 don samun tsarin karɓar tashar jiragen ruwa.

/ inet / udp / lport / rhost / rport

Haka ma, amma amfani da UDP / IP a maimakon TCP / IP.

/ inet / raw / lport / rhost / rport

An ajiye shi don yin amfani da shi a nan gaba.

Sauran filenames na musamman suna samar da damar samun bayanai game da tsari gawk . Wadannan filenames ba su da yawa. Yi amfani da rukunin PROCINFO don samun bayanin da suke samarwa. Filenames sune:

/ dev / pid

Karatu wannan fayil ya sake dawo da tsarin ID ɗin na tsari na yanzu, a cikin adadi, ya ƙare tare da sabon layi.

/ dev / ppid

Karatu wannan fayil ya dawo da tsarin ID na iyaye na halin yanzu, a cikin ƙima, ya ƙare tare da sabon layi.

/ dev / ɓata

Karatu wannan fayil ya sake dawo da tsarin ƙungiyar ID na tsarin yanzu, a cikin ƙima, ya ƙare tare da sabon layi.

/ dev / mai amfani

Karatu wannan fayil ɗin ya sake dawo da rikodin rikodi da aka kammala tare da sabon layi. An rarraba filayen da sarari. $ 1 shine darajar samun tsarin wayar (2), $ 2 shine darajar tsarin tsarin aiki (2), $ 3 shine darajar tsarin gwagwarmaya (2), kuma $ 4 shine darajar samun (2) kiran tsarin. Idan akwai wasu filayen ƙarin, su ne ID ɗin da aka dawo ta hanyar rukuni (2). Ƙungiyoyi masu yawa bazai iya goyan bayan duk tsarin ba.

Ayyukan Numeric

AWK yana da wadannan ayyuka na ƙididdigewa masu ginawa:

atan2 ( y , x )

Komawa arctangent na y / x a cikin radians.

cos ( expr )

Ya dawo da mawallafi na expr , wanda yake a cikin radians.

exp ( expr )

Ayyukan ƙaddamarwa.

int ( expr )

Truncates zuwa lamba.

shiga ( expr )

A halitta logarithm aiki.

rand ()

Ya dawo da lambar bazu tsakanin 0 da 1.

zunubi ( expr )

Sake dawo da sutura , wanda yake a cikin radians.

sqrt ( expr )

Ayyukan bayanan wuri.

srand ( s )

Ana amfani dashi a matsayin sabon nau'in mahallin jigilar bazuwar. Idan ba'a bada expr , ana amfani da lokacin rana ba. Ƙimar da take da ita ita ce nau'in da ya gabata don yawan janareta baƙi.

Ayyuka na Sanya

Gawk yana da wadannan ayyuka masu mahimmanci:

hawan ( s [ , d ] )

Koma yawan adadin abubuwa a cikin tushen s . S. An shirya abubuwan da ke cikin sashe ta hanyar amfani da ka'idodin gawk don kwatanta dabi'un, da kuma alamun da aka ƙayyade na haɗin s an maye gurbinsu tare da adadin lambobi na farawa da 1. Idan za a ƙayyade maɓallin makamancin d duniyar d, , sa'an nan kuma d an ware, yana barin alamomi na tushen jigon s .

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

Binciken dabarar kirki t don matches na kalma na yau da kullum r . Idan h shine kirtani da aka fara da g ko G , sannan maye gurbin duk matches na r tare da s . In ba haka ba, h alama ce ta nuna abin da wasa na r don maye gurbin. Idan ba a ba kawata ba, ana amfani da $ 0 a maimakon. A cikin rubutun canji s , jerin \ n , inda n shine lambar daga 1 zuwa 9, ana iya amfani dashi don nuna kawai rubutun da ya dace da maganganun sirri na parenthesized. Hoto \ 0 yana wakiltar dukan rubutu da aka dace, kamar yadda hali yake & . Ba kamar sub () da gsub () ba , an mayar da layin gyare-gyaren da aka canza a matsayin sakamakon aikin, kuma ba a canja maɓallin kirkirar ainihin ba .

gsub ( r , s [ , t ] )

Ga kowane matakan da aka kwatanta da layi na yau da kullum a cikin tarin t t , canza maƙallan s , kuma ya sake dawo da yawan sauyawa. Idan ba a kawata t ba, yi amfani da $ 0 . An maye gurbin & a cikin rubutun canji tare da rubutun da aka dace daidai. Yi amfani da \ & don samun digiri & . (Dole ne a yi amfani da shi kamar "\\ &" ; duba GAWK: Shirye-shiryen AWK mai kyau don tattaunawa da cikakke game da ka'idodin 'yanci (s ) , gsub () , da peopleub () .)

index ( s , t )

Maido da alamomi na kirtani t a cikin kirtani s , ko 0 idan t bai kasance ba. (Wannan yana nuna cewa alamun halayen ya fara a daya.)

tsawon ( [ s ] )

Ya dawo da tsawon kirtani s , ko tsawon $ 0 idan ba a ba da s .

wasa ( s , r [ , a ] )

Koma matsayi a s inda inda ake magana akai-akai r yana faruwa, ko 0 idan r bai kasance ba, kuma ya kafa dabi'un RSTART da RLENGTH . Lura cewa tsarin jayayya daidai yake da na ~ afareta: jigilar . Idan an samar da tsararraki, an yarda shi sannan sannan abubuwa 1 ta hanyar n suna cike da nauyin s wanda yayi daidai da maganganun iyaye a cikin r . Sakamakon kashi 0 na wani ya ƙunshi sashi na s wanda ya dace da dukan maganganun farko r .

raba ( s , a [ , r ] )

Kaddar da kirtani a cikin tsararren a a kan layi na yau da kullum r , kuma ya sake dawo da lambar filayen. Idan an cire r , ana amfani da FS a maimakon. An rarraba kayan tsararwa na farko. Gyarawa yana nuna hali a fili zuwa rarrabewar wuri, wanda aka bayyana a sama.

Gudun gwanin ( fmt , expr-list )

Bugu da kari-jerin bisa fmt , kuma ya sake dawo da layin da aka samu.

strtonum ( str )

Binciken jigilar , kuma ya dawo da darajar lambobi. Idan matsala ta fara tare da jagorancin 0 , strtonum () ya dauka cewa str shi ne lambar octal. Idan matsala ta fara tare da manyan 0x ko 0X , strtonum () ya ɗauka cewa str shine lambar hexadecimal.

sub ( r , s [ , t ] )

Kamar gsub () , amma kawai an maye gurbin matakan farko.

substr ( s , i [ , n ] )

Komawa a mafi yawan matakan n -dacter na s farawa a i . Idan an cire n , ana amfani da sauran s .

da hankali ( str )

Komawa kwafin layi, tare da duk jigilar batutuwa a cikin fassarar da aka fassara zuwa ga takaddun ƙananan su. Ba a canza haruffan haruffa ba tare da canzawa ba.

matashi ( str )

Ya dawo da kofi na layi, tare da duk ƙananan haruffan haruffan a cikin fassarar da aka fassara zuwa takaddun ƙananan su na daidai. Ba a canza haruffan haruffa ba tare da canzawa ba.

Ayyukan lokaci

Tun da daya daga cikin amfani na farko na shirin AWK shine fayilolin fayiloli wanda ke dauke da lokacin shagon bayanai, gawk yana samar da ayyuka masu zuwa saboda samun samfuri na lokaci da tsara su.

kwanakin ( kwanan wata )

Lokaci na rurnan lokaci zuwa lokaci hatimi na irin tsari da aka dawo ta tsarin () . Lambar kwanan wata alama ce ta hanyar YYYY MM DD HH MM SS [DST] . Abubuwan da ke cikin kirtani suna da lambobi shida ko lambobi bakwai wadanda suke wakiltar shekara guda ciki har da karni, watan daga 1 zuwa 12, ranar watan 1 zuwa 31, sa'a na rana daga 0 zuwa 23, minti daga 0 zuwa 59, kuma na biyu daga 0 zuwa 60, da kuma zaɓin hasken rana ceto flag. Abubuwan lambobin waɗannan lambobi basu buƙatar shiga cikin jeri da aka kayyade ba; misali, sa'a na -1 yana nufin 1 awa kafin tsakar dare. Anyi amfani da kalandar Gregorian-asalin asali, tare da shekaru 0 da suka wuce shekara 1 da shekara -1 shekara ta gaba 0. Lokaci yana zaton ana cikin yankin lokaci. Idan hasken rana ya zama tabbatacce, ana ganin lokacin shine lokacin hasken rana; idan babu, lokaci ya zama lokaci mai kyau; kuma idan mummunan (tsoho), mktime () yayi ƙoƙarin ƙayyade ko lokacin ajiyar rana yana aiki a lokacin da aka ƙayyade. Idan kwanan wata bai ƙunshi abubuwa masu isa ba ko kuma idan lokacin da ya faru ya fita daga iyakar, mktime () ya dawo -1.

strftime ( [ tsarin [ , timestamp ]] )

Formats timestamp bisa ga ƙayyadewa a cikin tsari. Dogon lokaci ya kamata ya kasance daidai da tsari kamar yadda tsarin systime () ya dawo. Idan timwatamp ya ɓace, ana amfani da halin yanzu na yini. Idan tsarin ya ɓace, ana amfani da yanayin da ya dace daidai da fitowar kwanan wata (1). Dubi ƙayyadewa game da aikin da aka yi a cikin ANSI C domin fasalin tsarin da aka tabbatar da za a samuwa. Wata ƙungiya na strftime (3) da kuma mutum mutum don shi ya zo tare da gawk ; idan an yi amfani da wannan littafin don gina gawk , to, dukkanin fassarorin da aka bayyana a cikin wannan mutumin ɗin suna samuwa ga gawk.

systime ()

Ya dawo da kwanakin lokaci na yanzu azaman adadin seconds tun lokacin da Epoch (1970-01-01 00:00:00 UTC a kan tsarin POSIX).

Ayyukan Magana na Bit

Farawa tare da version 3.1 na gawk , waɗannan ayyuka na manya kaɗan suna samuwa. Suna aiki ta hanyar canza daidaitattun lambobi masu mahimmanci zuwa mahimmancin haruffan dogon lokaci , yin aiki, sa'an nan kuma sake mayar da sakamakon zuwa tudu. Ayyuka sune:

da ( v1 , v2 )

Koma bitwise DA na dabi'u da aka samar da v1 da v2 .

compl ( bas )

Sake dawo da bitwise tare da bas .

lshift (bas , count )

Koma darajar bas , bari hagu ta ƙidaya ragu.

ko ( v1 , v2 )

Koma bitwise OR na dabi'u da aka samar da v1 da v2 .

rshift (bas , count )

Koma darajar baft , canza dama ta ƙidaya ragu.

xor ( v1 , v2 )

Koma bitwise XOR na dabi'u da aka samar da v1 da v2 .

Ayyukan Ƙasashen waje

Da fara tare da version 3.1 na gawk , za a iya amfani da ayyuka masu zuwa daga shirin shirin AWK don fassara sutura a lokaci mai gudana. Don cikakkun bayanai, duba GAWK: Tsarin AWK mai kyau .

bindtextdomain ( shugabanci [ , domain ] )

Yana ƙayyade jagorancin inda gawk ya dubi fayilolin .mo , idan ba za su iya ba ko ba za a iya sanya su cikin '' '' wurare '' wurare (misali, yayin gwaji). Yana dawo da shugabanci inda aka sanya " yanki ".

Yankin tsoho yana da tasirin TEXTDOMAIN . Idan shugabanci shine maɓallin null ( "" ), to, bindtextdomain () ya dawo da halin yanzu ga yankin da aka ba su.

dctexttext ( string [ , domain [ , category ]] )

Koma fassarar kirtani a cikin yankin yanki na yanki na yanki na layi . Ƙimar da aka dace don yankin shi ne darajar TEXTDOMAIN na yanzu . Ƙimar da ta dace don ɗayan suna "LC_MESSAGES" .

Idan ka samar da darajar ga ɗayan , dole ne ya zama kirtani daidai da ɗaya daga cikin ƙananan gidaje da aka sani a cikin GAWK: Tsarin AWK mai kyau . Har ila yau dole ne ku samar da yankin rubutu. Yi anfani da TEXTDOMAIN idan kana son amfani da yankin na yanzu.

dcngettext ( string1 , string2 , lambar [ , yankin [ , category ]] )

Ya dawo da nau'i nau'in amfani da yawan fassarar string1 da string2 a cikin yanki na yanki na yanki. Ƙimar da aka dace don yankin shi ne darajar TEXTDOMAIN na yanzu . Ƙimar da ta dace don ɗayan suna "LC_MESSAGES" .

Idan ka samar da darajar ga ɗayan , dole ne ya zama kirtani daidai da ɗaya daga cikin ƙananan gidaje da aka sani a cikin GAWK: Tsarin AWK mai kyau . Har ila yau dole ne ku samar da yankin rubutu. Yi anfani da TEXTDOMAIN idan kana son amfani da yankin na yanzu.

KARANTA DA KASA KUMA

Ayyuka a cikin AWK an bayyana su kamar haka:

sunan aiki ( jerin jerin ) { maganganun }

Ana aiwatar da ayyuka idan an kira su daga cikin maganganu a ko dai abubuwa ko ayyuka. Ana amfani da sigogi na ainihi da aka ba su a cikin aikin aiki don yin nuni da sigogin sifa da aka ayyana a cikin aikin. Bayanan da aka wuce ta hanyar tunani, wasu ƙididdiga suna wucewa ta darajar.

Tun da ayyukan ba a cikin asali na harshen AWK ba, samarwa ga masu canji na gida yana da rauni: An bayyana su kamar sauran sigogi a cikin jerin jerin. Wannan yarjejeniyar shine rarrabe masu canji na gida daga ainihin sigogi ta karin wurare a cikin jerin jerin. Misali:

aiki f (p, q, a, b) # a da b ne na gida {...} / abc / {...; f (1, 2); ...}

Haɗin hagu a kira mai aiki yana buƙatar biye da sunan aiki nan da nan, ba tare da wani wuri mai tsabta ba. Wannan shi ne don kauce wa haɗuwa da haɗin gwiwar tare da afaretan ƙira. Wannan ƙuntatawa bai shafi ayyukan da aka gina a sama ba.

Ayyukan aiki zasu iya kiran juna kuma yana iya zama maimaitawa. Ana sanya sigogi na aiki da aka yi amfani da shi a matsayin masu canji na gida da aka sanya su zuwa layi mai lalacewa da lambar zero akan aikin kira.

Yi amfani da sake dawowa don dawo da darajar daga aiki. Ƙimar da aka mayar da shi ba ta da cikakke idan ba a bayar da darajar ba, ko kuma idan aikin ya dawo ta hanyar '' fadi '' ƙarshen.

Idan an bayar dashi, gawk ya yi gargadin game da kira zuwa ayyukan da ba a bayyana ba a lokacin layi, maimakon a lokacin gudu. Kira aikin da ba a bayyana ba a lokacin gudu yana kuskure ne.

Ana iya amfani da kalmar func a wurin aiki .

DYNAMICALLY LADING NEW FUNCTIONS

Da farko tare da version 3.1 na gawk , zaka iya ƙarfafa sabon aikin ginawa zuwa ma'anar gawk mai gudana. Cikakken cikakkun bayanai ba su da ikon yin amfani da wannan littafin jagora; duba GAWK: Gudanar da AWK Shirye-shiryen don cikakkun bayanai.

tsawo ( abu , aiki )

A haɗakar hanyar haɗin fayil wanda aka kira ta abu , kuma kira aikin a cikin wannan abu, don farawa. Wadannan ya kamata a ba su a matsayin kirtani. Ya dawo da darajar da aka dawo ta aiki .

An bayar da wannan aikin kuma an rubuta shi a GAWK: Tsarin Ayyukan AWK , amma duk abin da game da wannan yanayin zai iya canjawa a cikin saki na gaba. Mun ɗauka cewa ba za ku yi amfani da wannan alama ba don wani abu da ba ku so ya sake.

SIGNALS

pgawk yarda da sigina biyu. SIGUSR1 yana sa shi ya zubar da bayanan martaba da kuma aiki kullin kira zuwa fayil ɗin profile, wanda shine ko dai dai, ko duk wani fayil da aka ambace shi tare da zaɓi na --pirin . Sai ya ci gaba da gudu. SIGHTS yana sa shi ya zubar da bayanan martaba da kuma aiki dutsen kira kuma to fita.

Misalai

Rubuta da kuma raba sunayen sunaye na masu amfani: BEGIN {FS = ":"} {buga $ 1 | "Fit"} Lissafin layi a cikin fayil: {nlines ++} END {bugu na buga} Shigar da kowace layi ta lambarta a cikin fayil: {buga FNR, $ 0} Lambar lamba da lambar (bambancin akan jigo): {buga NR, $ 0}

Ƙasawa

Ƙungiyoyin shinge suna jerin jerin haruffan da aka haɗa a cikin sau biyu. A cikin wuraren da ba na Turanci ba, yana yiwuwa a sanya alama a cikin shirin AWK kamar yadda ake buƙatar fassarar zuwa harshe na asali. Irin waɗannan kalmomi suna alama a cikin shirin AWK tare da jagorancin mahimmanci (`` _ ''). Misali,

gawk 'BEGIN {buga' sannu, duniya "} '

ko da yaushe bugawa sannu, duniya . Amma,

gawk 'BEGIN {buga _ "sallo, duniya")'

na iya buga bonjour, duniya a Faransa.

Akwai matakan da yawa da ke cikin samarwa da gudanar da shirin AWK na gida.

1.

Ƙara wani mataki na BEGIN don sanya darajar ga sauƙin TEXTDOMAIN don saita yankin rubutu zuwa sunan da ke hade da shirinku.


GAME {TEXTDOMAIN = "myprog"}

Wannan yana bada gawk don samo fayil na .mo da ke hade da shirinku . Idan ba tare da wannan mataki ba, gawk yana amfani da sakonnin rubutun saƙonni , wanda wataƙila ba ya ƙunshi fassarorin don shirinku ba.

2.

Alamar dukkan igiyoyi da ya kamata a fassara tare da manyan abubuwan da suka faru.

3.

Idan ya cancanta, yi amfani da dctexttext () da / ko bindtextdomain () ayyuka a cikin shirin, kamar yadda ya dace.

4.

Run gawk --gen-po -f myprog.awk> myprog.po don samar da fayil .po don shirinku .

5.

Samar da fassarori masu dacewa, kuma gina da shigar da fayil na .mo . Daidai .

Ana bayyana cikakkun fasali na duniya da cikakken bayani a cikin GAWK: Tsarin shirin AWK mai kyau .

Kuskuren Matsala

Manufar farko ga gawk shine daidaituwa da daidaitattun POSIX, kazalika da sabon saitin UNIX awk . A karshen wannan, gawk ya ƙunshi siffofin bayyane mai bayarwa waɗanda ba a bayyana su a cikin littafin AWK ba, amma sun kasance ɓangare na cikin Laboratories version na awk , kuma suna cikin tsarin POSIX.

Littafin yana nuna cewa aiki mai iyaka na umarni ya faru lokacin da awk zai bude bayanin a matsayin fayil ɗin, wanda shine bayan an kaddamar da ginin BEGIN . Duk da haka, a cikin aiwatarwar da aka yi a baya, lokacin da irin wannan aikin ya bayyana a gaban dukkanin sunayen fayiloli, aikin zai faru kafin a cire ginin BEGIN . Aikace-aikace sun dogara ne akan wannan '' alama '' 'Lokacin da aka canza fashewa don daidaitawa da takardunsa, zaɓin -v don sanya wasu canje-canje kafin a yi shirin kisa don sauke aikace-aikacen da suka dogara da tsohuwar hali. (Wannan yanayin ya amince da shi duka daga Laboratories Bell da masu ci gaba na GNU.)

Zaɓin -W don aiwatar da wasu siffofi na musamman daga ka'idar POSIX.

Lokacin aiki da muhawarar, gawk yana amfani da zaɓi na musamman - "-" don nuna alamar gardama. A yanayin daidaitawa, yayi gargadin game da amma in ba haka ba la'akari da zaɓin da ba a bayyana ba. A cikin aiki na al'ada, irin waɗannan muhawarar an wuce zuwa shirin AWK don aiwatar da shi.

Littafin AWK ba ya ƙayyade girman adadin srand () ba . Tsarin POSIX yana da shi ya dawo da iri da yake amfani dashi, don ƙyale adana layin jerin lambobi. Saboda haka srand () a gawk ya sake dawo da nauyin da yake yanzu.

Sauran sababbin siffofi sune: Yin amfani da maɓalli -f zažužžukan (daga MKS awk ); Harshen ENVIRON ; da \ a , da \ v tsere (wanda aka yi ne a cikin gawk da kuma mayar da shi a cikin Laboratories Bell); da mai hankali () da kuma aiki () ayyukan ginawa (daga cikin Laboratories Bell); da kuma maƙasudin ANSI C da aka ba da bayani a cikin bugawa (da aka fara a cikin sassan Laboratories Bell).

Tarihin Tarihi

Akwai siffofin biyu na ayyukan AWK na tarihi waɗanda gawk ke goyan bayan. Na farko, yana yiwuwa a kira tsawon () aikin ginawa ba kawai ba tare da wata hujja ba, har ma ba tare da iyaye ba! Ta haka ne,

a = tsawon # Mai Tsarki Algol 60, Batman!

daidai yake da ko dai na

a = tsawon ()
a = tsawon ($ 0)

Wannan alama tana alama a matsayin `'ɓrecated' 'a cikin tsarin POSIX, kuma gawk yana ba da gargaɗin game da amfani idan - an ƙayyade a kan layin umarni.

Sauran fasalin shine amfani da ko dai ta ci gaba ko maganganun maganganu a waje da jiki na wani lokaci , don , ko kuma yin madauki. Traditional AWK aiwatarwa sun bi da irin wannan amfani kamar daidai da bayanin gaba . Gawk yana goyan bayan wannan amfani idan - an riga an ƙayyade maɗaukaki .

GNU Extensions

Gawk yana da ƙarin kari zuwa POSIX awk . An bayyana su a wannan sashe. Duk kari wanda aka kwatanta a nan za a iya kashe ta hanyar kiran gawk tare da zaɓi na - haɓaka.

Ba'a samu siffofin gawk masu zuwa ba a POSIX awk .

*

Ba a gudanar da bincike akan hanyar fayilolin da ake kira ta hanyar -f ba. Saboda haka yanayin yanayin AWKPATH ba na musamman ba ne.

*

Sakamakon \ x tserewa. (Disabled with --posix .)

*

Ayyukan fflush () . (Disabled with --posix .)

*

Samun ci gaba da layi bayan ? da kuma :. (Disabled with --posix .)

*

Ƙaramar Octal da hexadecimal a cikin shirin AWK.

*

GASKIYA , BINMODE , ERRNO , LINT , RT da TEXTDOMAIN babanta ba na musamman.

*

Ba'a samuwa nauyin IGNORECASE da tasirinsa ba.

*

Hanyoyin FIELDWIDTHS da rarraba filin tsage-tsaren.

*

Rukunin PROCINFO bai samuwa ba.

*

Yin amfani da RS azaman magana na yau da kullum.

*

Sunayen fayil na musamman don I / O madauwari ba a gane su ba.

*

Ayyuka | & sadarwar don ƙirƙirar matakai-ƙungiyoyi.

*

Halin iya rabawa da haruffan mutum tare da yin amfani da igiya mai mahimmanci kamar darajar FS , kuma a matsayin shawara ta uku don raba () .

*

Zaɓin zaɓi na biyu a kan aikin kusa () .

*

Shawarar ta uku ta uku ga wasan () aikin.

*

Da ikon yin amfani da ƙayyadaddun matsayi tare da bugawa da sprint () .

*

Amfani da share tsararru don share duk abinda ke ciki.

*

Yin amfani da matsala na gaba don barin watsi da fayil din shigarwa.

*

A da, () , asort () , bindtextdomain () , compl () , dcgettext () , peopleub () , lshift () , mktime () , ko () , rshift () , strftime () , strtonum () , systime () da kuma xor () ayyuka.

*

Lurare Localizable.

*

Ƙara sabon aikin ginawa da ƙarfin aiki tare da aikin tsawo () .

Littafin AWK ba ya ƙayyade girman adadin aikin kusa () ba. Gawk ta kusa () ya dawo darajar daga flipse (3), ko rufe (3), lokacin rufe fayil mai fitarwa ko bututu, daidai da haka. Ya dawo da matsayi na fita bayan kammalawar shigarwar shigarwa. Ƙimar da aka dawo shine -1 idan ba a buɗe fayil ɗin mai suna ba, bututu ko co-tsari tare da madaidaicin.

Lokacin da aka kira gawk tare da zaɓi na - haɓaka, idan jigidar fs zuwa zaɓi -F ta kasance '`t' ', to an saita FS zuwa harafin mahafin. Lura cewa yin amfani da gawk -F \ t ... kawai yana sa harsashi ta faɗi '`t,' ', kuma ba ta wuce'` t '' zuwa zaɓi -F ba. Tun da yake wannan lamari ne mai ban tsoro, ba al'ada ba ne. Har ila yau, wannan hali ba zai faru ba - an ƙayyade shi. Domin samun ladabi na layi azaman mai rarraba filin, yana da kyau a yi amfani da alamu guda ɗaya: gawk -F '\ t' ....

Dubi wasu umarni : jira , lp , cikakke , execv , kaddara , ictl , uniq , rmmod , pvcreate , rsh , unix2dos , cal , fs , cd , iwpriv , swapon , autofs , magana , motsa , free , lpr , execl , fdisk , a , wanda , iwconfig , ifconfig , vgdisplay , bude , lsmod , ntohs , mailq , kashe , wtmp