Mọ aṣẹ Lainos - gawk

Oruko

gawk - abuda iboju ati ede processing

Atọkasi

gawk [POSIX tabi GNU style options] -f faili-faili [ - ] faili ...
gawk [POSIX tabi awọn aṣayan awọn aṣa GNU] [ - ] faili -eto- faili ...

pgawk [POSIX tabi awọn aṣayan awọn aṣa GNU] -f faili-eto [ - ] faili ...
pgawk [POSIX tabi awọn aṣayan awọn aṣa GNU] [ - ] faili -eto- faili ...

Apejuwe

Gawk ni GNU Project ti imuse ti ede AWK eto siseto. O ṣe ibamu pẹlu itumọ ede ti o wa ni POSIX 1003.2 Aṣẹ Ede ati Awọn Ohun elo Ilana. Ẹya yii ni o da lori apejuwe rẹ ni Erọ Eroja AWK , nipasẹ Aho, Kernighan, ati Weinberger, pẹlu awọn ẹya afikun ti a rii ninu System V Tu 4 version of UNIX awk . Gawk tun pese awọn iṣelọpọ Bell Laboratories diẹ ẹ sii, ati nọmba awọn apejuwe GNU-pato kan.

Pgawk jẹ ẹya ikede ti gawk . O jẹ aami ni gbogbo ọna lati gawk , ayafi ti awọn eto ṣiṣe diẹ sii laiyara, ati pe o funni ni aṣoju apaniyan ni faili awoph.out nigba ti a ba ṣe. Wo aṣayan aṣayan --profile , ni isalẹ.

Laini aṣẹ naa ni awọn aṣayan lati gba ara rẹ, ọrọ eto AWK (ti a ko ba pese nipasẹ awọn aṣayan -f tabi -file ), ati awọn iye ti o wa ni awọn ARGC ati ARGV awọn iyipada AWK ti a ṣafihan tẹlẹ.

Iyipada kika

Awọn aṣayan Gawk le jẹ boya awọn aṣa POSIX ti ikede ọkan kan, tabi awọn aṣayan gigun GNU. Awọn aṣayan POSIX bẹrẹ pẹlu kan '`-' ', lakoko ti awọn aṣayan gigun bẹrẹ pẹlu" `-"'. Awọn aṣayan gigun ni a pese fun awọn ẹya ara ẹrọ GNU-pato ati fun awọn ẹya ara ẹrọ POSIX.

Lẹhin atẹle POSIX, a ti pese awọn aṣayan aṣeyọri -scificcific nipasẹ awọn ariyanjiyan si aṣayan -W . Awọn aṣayan Multi -W ni a le pese Awọn aṣayan kọọkan -W ni aṣayan gun to gun, gẹgẹ bi alaye ni isalẹ. Awọn ariyanjiyan si awọn aṣayan gun ti wa ni boya darapọ pẹlu aṣayan nipasẹ ami = , lai si awọn aaye ti o nwaye, tabi wọn le wa ni atọnilẹyin laini atẹle. Awọn aṣayan gigun le di opin, niwọn igba ti abbreviation jẹ alailẹgbẹ.

Awọn aṣayan

Gawk gba awọn aṣayan wọnyi, ti a ṣe akojọ rẹ gẹgẹbi lẹsẹsẹ.

-F fs

- sita-separator fs Lo fs fun olupin ipin aaye titẹ sii (iye ti iyatọ FS ti a yan tẹlẹ).

-v var = val

--assign var = val Fi agbara iye si ayipada iyipada, ṣaaju ki ipasẹ ti eto bẹrẹ. Awọn iye iyipada bẹ wa si ẹgbe BEGIN ti eto AWK kan.

-f faili-eto

--file faili-eto Ka ohun elo eto AWK lati faili -faili , dipo ti akọkọ ariyanjiyan ila aṣẹ. Awọn aṣayan pupọ -f (tabi --file ) le ṣee lo.

-mf NNN

-mr NNN Ṣeto orisirisi iyatọ iranti si iye NNN . Awọn f flag ṣeto nọmba ti o pọju fun awọn aaye, ati r flag ṣeto iwọn igbasilẹ ti o pọju. Awọn ami meji yii ati aṣayan -m jẹ lati inu iwadi iwadi Labaratories Bell ti UNIX awk . Wọn ko bikita nipasẹ gawk , niwon gawk ko ni awọn iyasọtọ asọ tẹlẹ.

-W oye

-W ibile

--iṣẹ

- iṣiṣẹ deede ni ibamu ipo. Ni ipo ibamu, gawk ṣe ihuwasi si UNIX awk ; ko si ọkan ninu awọn amugbooro GNU-pato ti a mọ. Lilo ti - ibile jẹ ti o fẹ ju awọn iwa miiran ti aṣayan yii lọ. Wo GNU EXTENSIONS , ni isalẹ, fun alaye siwaju sii.

-W copyleft

-W aṣẹ lori ara ẹni

--copickft

--copyright Tẹjade apẹrẹ ti ikede ifiranṣẹ GNU lori aṣẹ aṣẹ lori ọpa ti o ṣe deede ati jade ni ifijišẹ.

-W awọn silẹ-awọn iyipada [ = faili ]

--dump-variables [ = file ] Tẹjade akojọ lẹsẹsẹ ti awọn oniyipada agbaye, awọn iru wọn ati awọn ipo ipari lati fi faili . Ti ko ba si faili ti a pese, gawk nlo faili kan ti a npè ni awkvars.out ni itọsọna yii.

Nini akojọ ti gbogbo awọn oniyipada agbaye jẹ ọna ti o dara lati wa fun awọn aṣiṣe kikọ ni awọn eto rẹ. Iwọ yoo tun lo aṣayan yi bi o ba ni eto nla kan pẹlu ọpọlọpọ awọn iṣẹ, ati pe o fẹ lati rii daju pe awọn iṣẹ rẹ ko lo awọn amuye agbaye ti ko ni lojiji ti o fẹ lati wa ni agbegbe. (Eyi jẹ iṣeduro rọrun ti o rọrun pupọ lati ṣe pẹlu awọn orukọ iyatọ bi i , j , ati bẹbẹ lọ.)

-W iranlọwọ

-W lilo

--Egba Mi O

--iṣewe Tẹjade ni ṣoki kukuru ti kukuru ti awọn aṣayan to wa lori iṣẹ ti o ṣe deede. (Fun Awọn Ilana Gbigba GNU , awọn aṣayan wọnyi fa lẹsẹkẹsẹ, ipasẹ aṣeyọri.)

-W lint [ = kuru ]

--lint [ = apani ] Pese awọn ikilọ nipa awọn itumọ ti o ni imọran tabi ti kii ṣe aiyẹsi si awọn imuse ti awọn miiran. Pẹlu ariyanjiyan iyanyan ti apani , awọn ikede lint di aṣiṣe buburu. Eyi le ṣeeṣe, ṣugbọn lilo rẹ yoo ṣe iwuri fun idagbasoke awọn eto AWK oludena.

-W lint-atijọ

- atijọ-ọjọ Pese awọn ikilọ nipa awọn itumọ ti ko le ṣee ṣe si aṣa atilẹba ti Unix awk .

-W gen-po

--gen-po Ṣayẹwo ati ki o parse awọn eto AWK, ki o si ṣe faili faili GNU .po kan lori iṣaṣe deede pẹlu awọn titẹ sii fun gbogbo awọn gbolohun ti a le yan ni eto naa. Eto naa ko paṣẹ. Wo pinpin GLI ti GNU fun alaye siwaju sii lori awọn faili .po .

-W awọn kii kii-decimal-data

--nonal-decimal-data Rii awọn ẹda octal ati awọn hexadecimal ni data titẹ. Lo aṣayan yi pẹlu iṣọra nla!

-W aba

--posix Eyi wa ni ipo ibamu , pẹlu awọn ihamọ afikun wọnyi:

*

\ x igbasilẹ awọn abawọn ko mọ.

*

Aaye ati taabu nikan lo bi awọn alabapade aaye nigbati FS ti ṣeto si aaye kan, aaye tuntun ko ni.

*

O ko le tẹsiwaju awọn ila lẹhinna ? ati :.

*

Aami ti o wa fun iṣẹ-iṣẹ Koko ko mọ.

*

Awọn oniṣẹ ** ati ** = ko ṣee lo ni ibi ti ^ ati ^ = .

*

Iṣẹ ffhṣ () ko si.

-W profaili [ = prof_file ]

--profile [ = prof_file ] Firanṣẹ profiles si prof_file . Iyipada jẹ awkprof.out . Nigba ṣiṣe pẹlu gawk , profaili jẹ o kan "` lẹwa printed '' version of the program. Nigbati o ba ṣiṣẹ pẹlu pgawk , profaili ni awọn iṣiro ipaniyan ti alaye kọọkan ninu eto naa ni apa osi ati iṣẹ awọn ipe ipe fun iṣẹ-ṣiṣe ti a ṣakoso olumulo.

-W tun-aarin

- aarin akoko Ṣiṣe awọn lilo ti aarin igba ni ifarahan deedea (wo Awọn Ọrọ Ipada , ni isalẹ). Awọn ọrọ igbasilẹ ko ni aṣa ni aṣa ni ede AWK. Pọọsi POSIX fi wọn kun, lati ṣe awk ati egrep ni ibamu pẹlu ara wọn. Sibẹsibẹ, lilo wọn ṣee ṣe lati fọ eto AWK atijọ, nitorina gawk nikan pese wọn ti wọn ba beere fun pẹlu aṣayan yii, tabi nigbati - ti wa ni pato.

-W orisun eto-ọrọ orisun

- ọrọ-ọrọ-elo-ọrọ Lo ọrọ-ṣiṣe bi AWK koodu orisun eto. Aṣayan yii n jẹ ki awọn iṣẹ iṣọpọ ti o rọrun (ti a lo nipasẹ awọn aṣayan -f ati -file ) pẹlu koodu orisun ti o tẹ lori laini aṣẹ. O ti wa ni ipinnu lati ṣe pataki fun alabọde si awọn eto AWK ti o lo ninu awọn iwe afọwọkọ igun.

-W version

--version Tẹjade alaye ti ikede fun yi pato daakọ ti gawk lori awọn iṣẹ oṣiṣẹ. Eyi wulo julọ fun imọran ti ẹda ti isiyi ti gawk lori eto rẹ wa titi di oni pẹlu ohun ti Software Free Software n ṣaakiri. Eyi tun wulo nigbati o ba ndun awọn idun. (Fun Awọn Ilana Gbigba GNU , awọn aṣayan wọnyi fa lẹsẹkẹsẹ, ipasẹ aṣeyọri.)

- Ami ifihan opin awọn aṣayan. Eyi wulo lati gba awọn ariyanjiyan siwaju sii si eto AWK funrararẹ lati bẹrẹ pẹlu "` - "'. Eyi ni o kun fun ibamu pẹlu ariyanjiyan ariyanjiyan ti o lo pẹlu ọpọlọpọ awọn eto POSIX miiran.

Ni ipo ibamu, awọn aṣayan miiran ti wa ni ifihan bi aibajẹ, ṣugbọn ti ko bamu sibẹ. Ni iṣẹ deede, bi igba ti a ti pese ohun elo eto, awọn aṣayan aimọ ti wa ni lọ si eto AWK ni apa ARGV fun sisẹ. Eyi jẹ paapaa wulo fun ṣiṣe awọn eto AWK nipasẹ ọna eto olutọtọ ti '`!!' '.

AWỌN IṢẸ TITẸ AWK

Eto AWK jẹ akopọ ti awọn igbasilẹ ọrọ-apejuwe ati awọn itọkasi aṣayan iṣẹ.

apẹẹrẹ [ awọn ọrọ igbesẹ }

orukọ iṣẹ ( akojọ aṣayan ) { gbólóhùn }

Gawk akọkọ kọ orisun eto lati faili-faili naa ti o ba wa ni pato, lati awọn ariyanjiyan si --source , tabi lati iṣaaju ariyanjiyan akọkọ lori laini aṣẹ. Awọn aṣayan -f ati --source le ṣee lo ni igba pupọ lori laini aṣẹ. Gawk ka iwe eto ọrọ naa bi pe gbogbo awọn faili eto-faili ati awọn ọrọ orisun ila aṣẹ ti wa ni papọ. Eyi wulo fun awọn ile-ikawe awọn iṣẹ AWK, laisi pe o ni lati fi wọn sinu eto titun AWK ti nlo wọn. O tun pese agbara lati ṣe awọn iṣẹ iṣọpọ pẹlu awọn eto laini aṣẹ.

AWKPATH oju-aye agbegbe sọ ọna ti o wa lati lo nigba wiwa awọn faili orisun ti a npè ni pẹlu aṣayan -f . Ti ayípadà yii ko ba si tẹlẹ, ọna aiyipada ni ".: / Usr / local / share / awk" . (Itọsọna gangan le yatọ, ti o da lori bi a ṣe kọ gawk ati fi sori ẹrọ.) Ti orukọ faili kan ti a ba fi si aṣayan -f ni aayo '`/' ', ko si ọna ti o ṣe.

Gawk ṣe awọn eto AWK ni ilana wọnyi. Ni akọkọ, gbogbo awọn iṣẹ iyipada ti a sọ nipasẹ awọn aṣayan -v ni a ṣe. Nigbamii ti, gawk ṣe akopọ eto naa sinu fọọmu inu. Lẹhinna, gawk ṣe koodu ni agbegbe BEGIN (ti o ba jẹ), ati lẹhinna lati ka faili kọọkan ti a npè ni apa ARGV . Ti ko ba si awọn faili ti a darukọ lori laini aṣẹ, gawk ka iwe ifọwọsi.

Ti orukọ kan lori laini aṣẹ kan ni o ni fọọmu var = daba o ti wa ni iṣeduro bi iṣẹ iyatọ kan. Awọn iyatọ iyatọ ni yoo sọ iye ti o wulo. (Eyi yoo waye lẹhin ti eyikeyi Bọtini BEGIN ti wa ni ṣiṣe.) Išẹ iyatọ laini aṣẹ ni o wulo julọ fun awọn ipo iyatọ ti o ni iyatọ si awọn oniyipada AWK lati ṣakoso bi titẹ ti bajẹ si awọn aaye ati igbasilẹ. O tun jẹ wulo fun ipo iṣakoso ti o ba nilo awọn ọpọ awọn kọja lori faili faili kan nikan.

Ti iye kan ti o jẹ pataki ti ARGV ti ṣafo ( "" ), gawk ṣaju lori rẹ.

Fun igbasilẹ kọọkan ninu titẹ sii, idanwo gawk lati rii boya o baamu eyikeyi elo ni eto AWK. Fun apẹẹrẹ kọọkan ti akọsilẹ baamu, iṣẹ ti o ni nkan ṣe pa. Awọn idanwo ni idanwo ni aṣẹ ti wọn waye ninu eto naa.

Lakotan, lẹhin ti gbogbo awọn titẹ sii ti pari, gawk ṣe koodu ni awọn apo (EN) END (ti o ba jẹ eyikeyi).

Awọn iyipada, Awọn akosilẹ ati awọn aaye

Awọn iyipada AWK jẹ ayipada; wọn wa nigba ti a ti lo wọn akọkọ. Awọn ipo wọn jẹ boya awọn nọmba nọmba-lile tabi awọn gbolohun ọrọ, tabi awọn mejeeji, ti o da lori bi wọn ṣe lo. AWK tun ni awọn ohun elo ọtọtọ kan; Awọn ohun elo ti o wa pẹlu awọn nọmba oriṣiriṣi le jẹ simẹnti. Ọpọlọpọ awọn iyipada ti o ti ṣafihan tẹlẹ ti ṣeto bi eto ṣiṣe; wọnyi ni yoo ṣalaye bi o ti nilo ki o si ṣe apejọ ni isalẹ.

Awọn akosilẹ

Ni deede, awọn igbasilẹ ti pin nipasẹ awọn ohun kikọ tuntun. O le ṣakoso bi a ṣe pin awọn akọọlẹ nipa sisọ awọn iye si iye RS ti a ṣe sinu rẹ. Ti RS jẹ eyikeyi iwa-kikọ kan, ti iwa naa ya awọn igbasilẹ. Bibẹkọkọ, RS jẹ ikosile deede. Ọrọ ni titẹ sii ti o baamu ikosile yii n ya awọn igbasilẹ naa. Sibẹsibẹ, ni ipo ibamu, nikan ni ohun kikọ akọkọ ti agbara okun rẹ ti a lo fun sisọ awọn igbasilẹ. Ti a ba seto RS si titiipa nullu, lẹhinna awọn akosilẹ ni a ya nipasẹ awọn ila laini. Nigba ti a ba ṣeto RS si titiipa asan, iwa-kikọ tuntun wa nigbagbogbo bi olutọju aaye, ni afikun si eyikeyi iye ti FS le ni.

Awọn aaye

Bi a ti ka kika igbasilẹ kọọkan, gawk pin awọn igbasilẹ sinu awọn aaye , lilo iye ti iye FS gẹgẹbi olutọju aaye. Ti FS jẹ ẹya kanṣoṣo, awọn aaye pinya nipasẹ pe ohun kikọ naa. Ti FS ba jẹ okun onigbọnna, lẹhinna ohun kikọ kọọkan jẹ aaye ọtọtọ. Bibẹkọkọ, FE o nireti lati jẹ ikosile deede. Ninu ọran pataki pe FS jẹ aaye kan ṣoṣo, awọn aaye ti yapa nipasẹ awọn igbasilẹ ti awọn alafo ati / tabi awọn taabu ati / tabi awọn ọja tuntun. (Ṣugbọn wo awọn fanfa ti --posix , ni isalẹ). AKIYESI: Iwọn ti IGNORECASE (wo isalẹ) tun ni ipa lori bi awọn aaye ti pinpin nigbati FS jẹ ikosile deede, ati bi awọn akọọlẹ ti yaya nigbati RS jẹ ikosile deede.

Ti a ba ṣeto ayípadà ti FIELDWIDTHS si akojọpọ awọn aaye ti a yàtọ, awọn aaye kọọkan ni a nireti lati ni iwọn ti o wa titi, ati gawk pin awọn igbasilẹ naa ni lilo awọn iwọn ti a ti sọ. Iye owo ti FS ko bikita. Fifi ipinnu titun si FS ṣe idaamu lilo FIELDWIDTHS , o si tun mu iwa aiyipada pada.

Ọkọ kọọkan ni igbasilẹ titẹ sii le jẹ atunka nipasẹ ipo rẹ, $ 1 , $ 2 , ati bẹbẹ lọ. $ 0 ni gbogbo igbasilẹ. Awọn aaye ko nilo lati ṣe afihan nipa awọn idiwọn:

n = 5
tẹ sita $ n

tẹjade aaye karun ni igbasilẹ input.

NF ti wa ni ṣeto si nọmba apapọ awọn aaye ninu igbasilẹ titẹ.

Awọn ifọkasi si awọn aaye ti kii ṣe tẹlẹ (ie aaye lẹhin $ NF ) gbe okun alailẹkọ. Sibẹsibẹ, fifun si aaye ti kii ṣe tẹlẹ (fun apẹẹrẹ, $ (NF + 2) = 5 ) mu iye NF wa , ṣẹda awọn aaye ti nfa pẹlu ila asan bi iye wọn, o si mu ki iye $ 0 ṣe atunṣe, pẹlu awọn aaye ti niya nipasẹ iye ti TI . Awọn iyasọtọ si awọn aaye ipo ti a ko ni aaye ṣe aṣiṣe buburu. NF iyatọ n mu iye awọn aaye ti o ti kọja iye tuntun lati sọnu, ati iye ti $ 0 lati san, pẹlu awọn aaye ti a pin nipa iye ti OFS .

Ṣiṣowo iye kan si aaye ti o wa tẹlẹ mu ki gbogbo igbasilẹ naa ṣe atunkọ nigbati $ 0 ti ṣe atunka. Bakanna, fifun iye kan si $ 0 mu ki iwe naa jẹ resplit, ṣiṣẹda awọn tuntun tuntun fun awọn aaye.

Awọn iyipada ti a ṣe sinu

Awọn iyipada ti a ṣe sinu Gawk ni:

ARGC

Nọmba awọn iṣeduro laini aṣẹ (ko ni awọn aṣayan lati gawk , tabi orisun eto).

ARGIND

Atọka ni ARGV ti faili ti o wa lọwọlọwọ.

ARGV

Ifiranṣẹ ti awọn iṣeduro laini aṣẹ. Awọn orun ti wa ni itọkasi lati 0 si ARGC - 1. Yiyi awọn akoonu ti ARGV ni iyipada ti o le ṣakoso awọn faili ti a lo fun data.

BINMODE

Lori awọn ọna ti kii ṣe POSIX, n ṣe alaye lilo ti "alakomeji" 'fun gbogbo faili I / O. Awọn iye nomba ti 1, 2, tabi 3, ṣafihan pe awọn faili titẹ, awọn faili ti o njade, tabi awọn faili gbogbo, lẹsẹsẹ, yẹ ki o lo I / O alakomeji. Awọn iye okun ti "r" , tabi "w" ṣọkasi awọn faili titẹ sii, tabi awọn faili ti o gbejade, lẹsẹsẹ, yẹ ki o lo I / O alakomeji. Awọn iye okun ti "rw" tabi "wr" ṣafihan pe gbogbo awọn faili yẹ ki o lo I / O alakomeji. Eyikeyi iye okun ti a ṣe mu bi "rw" , ṣugbọn o jẹ gbogbo ifiranṣẹ ikilọ kan.

CONVFMT

Iyipada kika fun awọn nọmba, "% .6g" , nipa aiyipada.

ENVIRON

Aṣayan ti o ni awọn iye ti agbegbe to wa. Awọn orun ti wa ni itọkasi nipasẹ awọn oniyipada ayika, ti kọọkan jẹ iye ti iyipada (fun apẹẹrẹ, ENVIRON ["Ile"] le jẹ / ile / arnold ). Yiyipada orun yii ko ni ipa lori ayika ti a rii nipasẹ awọn eto ti gawk spawns nipasẹ redirection tabi iṣẹ eto () .

ERRNO

Ti aṣiṣe eto ba waye lakoko ti n ṣe atunṣe redirection fun akoko , lakoko kika fun aṣeyọri , tabi nigba ti o sunmọ () , lẹhinna ERRNO yoo ni okun ti o ṣe apejuwe aṣiṣe naa. Iye naa jẹ koko-ọrọ si itumọ ni agbegbe ti kii-ede Gẹẹsi.

FIELDWIDTHS

Aye akojọpọ funfun-aaye pinpin awọn aaye. Nigbati a ba ṣeto, gawk n ṣafihan titẹ sii sinu aaye ti o wa titi ti o wa, dipo lilo iye ti ayípadà FS gẹgẹbi olutọju aaye.

ORUKỌ FAILI

Orukọ faili titẹsi lọwọlọwọ. Ti ko ba si awọn faili ti a pato lori laini aṣẹ, iye ti FILENAME ni "` - "'. Sibẹsibẹ, FILENAME ti wa ni lainika ninu apo idinwo BEGIN (ayafi ti ṣeto nipasẹ isopọ ).

FNR

Nọmba igbasilẹ titẹ sii ninu faili titẹ sii lọwọlọwọ.

FS

Olusẹtọ ipin aaye titẹ sii, aaye kan nipasẹ aiyipada. Wo Awọn aaye , loke.

IGNORECASE

Ṣakoso idaniloju-ọrọ ti gbogbo awọn ikosile deede ati awọn iṣakoso okun. Ti IGNORECASE ni iye kii kii-odo, lẹhinna awọn afiwe okun ati apẹrẹ ti o baamu ni awọn ofin, pinpin aaye pẹlu FS , pipin igbasilẹ pẹlu RS , ọrọ sisọ deede pẹlu ~ ati ! ~ , Ati awọn peopleub () , gsub () , index () , baramu () , pipin () , ati sub () awọn iṣẹ-ṣiṣe ti a ṣe sinu gbogbo kọ ohun ọran nigbati o n ṣe awọn ikosile ikosile deede. AKIYESI: Atilẹyin iwe-aṣẹ ko ni fowo, bẹẹni iṣẹ isinku () ko ṣe.

Bayi, ti IGNORECASE ko ba dọgba si odo, / aB / pe gbogbo awọn gbolohun ọrọ "ab" , "aB" , "Ab" , ati "AB" . Gẹgẹbi gbogbo awọn iyipada AWK, iye akọkọ ti IGNORECASE jẹ odo, nitorina gbogbo awọn ikunsọrọ deede ati awọn iṣakoso okun jẹ idaabobo deede. Labẹ Unix, ti a ti lo deede ti ohun kikọ silẹ Latin-1 ni ISO -1 nigbati o ba gbaju ọran.

LINT

Pese iṣakoso agbara ti aṣayan --lint laarin laarin eto AWK. Nigba otitọ, gawk tẹ awọn akiyesi lint. Nigbati eke, ko ṣe. Nigba ti a ba sọ pe iye okun jẹ "apaniyan , " awọn ikede lọn jẹ awọn aṣiṣe buburu, bi gangan --lint = buburu . Eyikeyi otitọ otitọ kan tẹ awọn ikilo.

NF

Nọmba awọn aaye ninu igbasilẹ titẹ sii lọwọlọwọ.

NR

Nọmba apapọ awọn akọsilẹ akọsilẹ ti ri bẹ bẹ.

OFMT

Ọkọ kika fun awọn nọmba, "% .6g" , nipa aiyipada.

OFS

Olusọtọ aaye ibi ọja, aaye kan nipa aiyipada.

ORS

Oludasile igbasilẹ oṣiṣẹ, nipa aiyipada kan titunline.

PROCINFO

Awọn ohun-elo ti opo yii pese aaye si alaye nipa eto AWK ṣiṣe. Lori diẹ ninu awọn ọna šiše, o le wa awọn eroja ninu titobi, "group1" nipasẹ "ẹgbẹ n " fun diẹ ninu awọn n , eyi ti o jẹ nọmba awọn ẹgbẹ afikun ti ilana naa ni. Lo o ni oniṣẹ lati ṣe idanwo fun awọn eroja wọnyi. Awọn ohun-elo wọnyi to wa ni ẹri lati wa:

PROCINFO ["egid"]

iye ti ipe eto getegid (2).

PROCINFO ["euid"]

iye ti ipe ipilẹṣẹ (2).

PROCINFO ["FS"]

"FS" ti aaye pinpa pẹlu FS jẹ ni ipa, tabi "FIELDWIDTHS" ti o ba jẹ pinpin pin pẹlu FIELDWIDTHS .

PROCINFO ["gid"]

iye ti ipe eto idaniloju (2).

PROCINFO ["apẹẹrẹ"]

ID ẹgbẹ ẹgbẹ ti ilana lọwọlọwọ.

PROCINFO ["Pid"]

ID ilana ti ilana lọwọlọwọ.

PROCINFO ["apẹrẹ"]

ilana ID obi ti ilana lọwọlọwọ.

PROCINFO ["iwo"]

iye ti ipe eto idanileko (2).

RS

Oludasile igbasilẹ titẹ sii, nipasẹ aiyipada kan titunline.

RT

Awọn oluṣakoso terminator. Gawk ṣeto RT si ọrọ titẹ sii ti o baamu ohun kikọ naa tabi ikosile deedee ti RS ṣe .

RSTART

Atọka ti ohun kikọ akọkọ ti o baamu nipasẹ baramu () ; 0 ti ko ba baramu. (Eyi tumọ si pe awọn ohun kikọ ti o bẹrẹ bẹrẹ ni ọkan.)

RLENGTH

Awọn ipari ti okun ti o baamu nipasẹ baramu () ; -1 ti ko ba baramu.

SUBSEP

Awọn ohun kikọ ti a lo lati pin awọn igbasilẹ ọpọlọ ni awọn ohun elo tito, nipasẹ aiyipada "\ 034" .

TEXTDOMAIN

Orukọ-ọrọ ti eto AWK; lo lati wa awọn itọka ti agbegbe fun awọn gbolohun eto naa.

Awọn ohun elo

Awọn ifarahan ti wa ni atokọ pẹlu ikosile laarin awọn biraketi square ( [ ati ] ). Ti ikosile jẹ akojọ akojọ kan ( expr , expr ...) lẹhinna titoṣo titoṣootọ jẹ okun ti o wa ni idaniloju ti iye (string) ti awọn ikosile kọọkan, ti o yapa nipasẹ iye ti iyipada SUBSEP . A lo idaniloju yi lati ṣedasilẹ isodipupo awọn ohun elo ti a ṣe iwọn ara. Fun apere:

i = "A"; j = "B"; k = "C"
x [i, j, k] = "O ṣeun, aye \ n"

fi okun naa ranṣẹ "O ṣeun, aye \ n" si ero ti awọn ẹda x ti a ṣe afiwe nipasẹ okun "A \ 034B \ 034C" . Gbogbo awọn ifarahan ni AWK jẹ alabaṣepọ, ie ti o ṣe afihan nipasẹ awọn didara okun.

Olupese pataki ni le ṣee lo ninu ohun ti o ba jẹ tabi igbasilẹ igbasilẹ lati wo boya ohun-ogun kan ni itọka ti o wa pẹlu iye kan pato.

ti o ba ti (Val in array) tẹ isakoso [lapapọ]

Ti orun naa ni awọn igbasilẹ ọpọ, lo (i, j) ni tito .

Awọn ti o wa ni ile-iṣẹ naa le tun ṣee lo ni ibẹrẹ fun isakoso lati ṣawari lori gbogbo awọn eroja ti opo.

A le pa nkan kan kuro lati ori-ogun nipa lilo gbolohun paarẹ . Awọn alaye paarẹ le tun ṣee lo lati pa gbogbo awọn akoonu inu ti ohun-iṣẹ kan, nikan nipa sisọ orukọ orukọ laini ipilẹ.

Yiyan titẹ ati iyipada

Awọn iyipada ati awọn aaye le jẹ (nọmba oju omi) awọn nọmba, tabi awọn gbolohun ọrọ, tabi awọn mejeeji. Bawo ni iye ti iyipada ti wa ni tumọ da lori ipo rẹ. Ti o ba lo ninu gbolohun ọrọ kan, a ma ṣe itọju rẹ bi nọmba kan, ti o ba lo bi okun kan yoo ṣe itọju rẹ bi okun.

Lati ṣe okunfa ayípadà lati le ṣe mu bi nọmba kan, fi kun 0 si; lati fi agbara mu ki a le ṣe itọju bi okun kan, tẹ ẹ si pẹlu okun wiwi.

Nigba ti o ba ti ni okun kan pada si nọmba kan, iyipada naa yoo pari pẹlu lilo strtod (3). Nọmba kan ti yipada si okun kan nipa lilo iye ti CONVFMT gẹgẹbi ọna kika fun fifẹfẹlẹfẹlẹ (3), pẹlu iye nomba ti iyipada bi ariyanjiyan. Sibẹsibẹ, bi o tilẹ jẹ pe gbogbo awọn nọmba ni AWK jẹ oju-omi-omi, awọn iye ti o wapọ jẹ nigbagbogbo iyipada bi awọn okiki. Bayi, fifun

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

ayípadà b ni iye iye ti "12" ati kii ṣe "12.00" .

Gawk ṣe awọn afiwe gẹgẹbi eleyi: Ti awọn oniyipada meji jẹ nọmba, a fiwewe wọn bajẹ. Ti iye kan ba jẹ nomba ati pe miiran ni iye okun ti o jẹ "` nọmba nomba, "'lẹhinna awọn apejuwe ti wa ni tun ṣe ni sisẹ. Bibẹkọkọ, nomba nọmba naa ti yipada si okun kan ati pe a ṣe afiwe wiwọn okun. Awọn gbolohun meji wa ni akawewe, dajudaju, bi awọn gbooro. Ṣe akiyesi pe boṣewa POSIX ṣe apẹrẹ ti "nọmba nọmba" 'ni gbogbo ibi, paapaa si awọn wiwọn okun. Sibẹsibẹ, eyi jẹ kedere ti ko tọ, ati gawk ko ṣe eyi. (O ṣeun, eyi ni o wa ni abajade ti o tẹle.)

Akiyesi pe awọn okunmọ okun, bii "57" , kii ṣe awọn gbolohun ọrọ, wọn jẹ awọn okunmọ okun. Idilọ ti '`stringeric string' 'nikan kan si awọn aaye, titẹ silẹ ti o ni ọna, FILENAME , awọn eroja ARGV , awọn eroja ENVIRON ati awọn eroja ti oriṣiriṣi ti a ṣẹda nipasẹ pipin () ti o jẹ awọn nọmba nọmba. Agbekale ipilẹ ni pe ifitonileti olumulo , ati ifọwọkan olumulo nikan, ti o dabi nomba, yẹ ki o tọju ọna naa.

Awọn iyipada ti a ti kọ ni ailewu ni iye nomba 0 ati iye okun "" (asan, tabi ṣofo, okun).

Awọn idiwọn Oṣu Kẹwa ati Hexadecimal

Bibẹrẹ pẹlu version 3.1 ti gawk, o le lo awọn idiwọn C-style ati awọn hexadecimal constants ninu koodu orisun AWK. Fun apẹẹrẹ, iye octal 011 jẹ dọgba pẹlu decimal 9 , ati iye hexadecimal 0x11 jẹ dọgba pẹlu decimal 17.

Awọn Constants okun

Awọn iṣọwọn okun ni AWK jẹ awọn abajade ti awọn ohun kikọ ti o wa laarin awọn oṣuwọn meji ( " ). Ninu awọn gbolohun ọrọ, awọn abajade ona abayo kan ni a mọ, bi ni C. Wọnyi ni:

\\

A ti o ni imọran.

a

Aṣa ti 'gbigbọn' '; nigbagbogbo ni ohun kikọ ASELII.

\ b

aṣehinyin.

\ f

kikọ-fọọmu.

\ n

tuntun tuntun.

\ r

gbigbe pada.

\ t

petele taabu.

\ v

taabu taara.

Awọn nọmba hex x

Awọn ohun kikọ ti o ni ipoduduro nipasẹ awọn okun ti awọn nọmba nọmba hexadecimal following the \ x . Bi ninu ANSIC, gbogbo awọn nọmba atẹkọ hexadecimal ti wa ni abala si abala ona abayo naa. (Ẹya yii yẹ ki o sọ fun wa nipa ohun kikọ nipa ede.) Eg, "\ x1B" ni ọrọ ASCIIESC (igbala).

\ ddd

Awọn ohun kikọ ti a ṣoduduro nipasẹ awọn 1-, 2-, tabi 3-nọmba ti awọn nọmba octal. Fun apẹẹrẹ, "\ 033" ni ASCII ESC (igbala).

\ c

Awọn ohun kikọ gangan c .

Awọn abajade ona abayo naa le tun lo ninu awọn igbagbogbo igbagbogbo (fun apẹẹrẹ, / [\ t \ f \ n \ r \ v / awọn akọọlẹ funfun eniyan).

Ni ipo ibamu, awọn lẹta ti o wa ni ipoduduro nipasẹ awọn ọna abayọ octal ati hexadecimal ni a ṣe itọju ni gangan nigbati a lo ninu awọn idiwọn igbagbogbo. Bayi, / a \ 52b / jẹ deede si / a \ * b / .

Awọn Àpẹẹrẹ ati Awọn Iṣẹ

AWK jẹ ede ti o wa laini. Àpẹẹrẹ naa wa ni akọkọ, lẹhinna iṣẹ naa. Awọn gbólóhùn iṣẹ wa ni paati ni { ati } . Boya apẹrẹ naa le padanu, tabi išẹ naa le sonu, ṣugbọn, dajudaju, kii ṣe mejeji. Ti apẹẹrẹ ba sọnu, a ṣe igbese naa fun gbogbo igbasilẹ ti titẹ sii. Iṣẹ ti o padanu jẹ deede si

{titẹ}

eyi ti o tẹ gbogbo igbasilẹ.

Awọn ifọrọhan bẹrẹ pẹlu "` # "'nkan, ati tẹsiwaju titi di opin ila. Awọn ila laini le ṣee lo lati ya awọn gbólóhùn. Ni deede, ọrọ kan dopin pẹlu titun kan, sibẹsibẹ, eyi kii ṣe ọran fun awọn ila ti o pari ni "`, "', { , ? , : , && , tabi || . Awọn ẹka ti o pari si ṣe tabi awọn miiran tun ni awọn gbólóhùn wọn laifọwọyi tẹsiwaju lori ila yii. Ni awọn ẹlomiiran, a le tẹsiwaju ila kan nipa fifin o pẹlu kan ', ninu eyi ti a ko le gba ila tuntun naa silẹ.

Awọn gbolohun ọpọlọpọ le wa ni ila lori ila kan nipa yiya wọn pọ pẹlu '`;' '. Eyi nii ṣe pẹlu awọn gbolohun naa laarin iṣiro igbese ti aṣeyọri-aṣeyọri (akọsilẹ deede), ati si awọn idiyele ilana-ara wọn.

Awọn apẹẹrẹ

Awọn ilana AWK le jẹ ọkan ninu awọn atẹle:

BEGIN END / ikẹjọ deede / itọsi ifarahan ibatan ati apẹẹrẹ awoṣe || ilana apẹẹrẹ ? Àpẹẹrẹ : Àpẹẹrẹ ( Àpẹẹrẹ ) ! ilana apẹrẹ1 , pattern2

BEGIN ati END jẹ awọn ọna pataki meji ti a ko ni idanwo lodi si titẹ sii. Awọn iṣẹ ti gbogbo awọn ilana BEGIN ti wa ni ṣọkan bi ẹnipe gbogbo awọn ọrọ naa ti kọ sinu iwe idinwo BEGIN kan. Wọn ti paṣẹ ṣaaju ki o to ka eyikeyi ti awọn titẹ sii. Bakan naa, gbogbo awọn bulọọki END ti wa ni ajọpọ, ati pa nigba ti gbogbo awọn titẹ sii ti pari (tabi nigba ti a ba ti sọ alaye ti njade ). BEGIN ati awọn END elo ko le ni idapọ pẹlu awọn elo miiran ni awọn aami alaworan. BEGIN ati awọn DED elo ko le ni awọn ẹya ipinnu sisọnu.

Fun / deede ikosile / awọn ilana, a ṣe alaye gbólóhùn ti o wa fun igbasilẹ akọsilẹ ti o baamu ikosile deede. Awọn gbolohun deede jẹ kanna bii awọn ti o wa ni egrep (1), ti a si ṣe akopọ ni isalẹ.

Ifihan ikoko kan le lo eyikeyi ninu awọn oniṣẹ ti o ṣalaye ni isalẹ ni apakan lori awọn iṣẹ. Awọn wọnyi ni idanwo nigbagbogbo boya awọn aaye kan baamu awọn ọrọ deede.

Awọn && , || , ati ! Awọn oniṣẹ jẹ otitọgbọn AND, logical OR, ati Iṣiṣe AABE, lẹsẹsẹ, bi ni C. Wọn ṣe imọran imọ-kukuru, bakanna gẹgẹ bi C, wọn ti lo fun apapọ awọn ifihan alailẹgbẹ diẹ sii. Gẹgẹbi ọpọlọpọ awọn ede, a le lo awọn iyọọda lati yi aṣẹ imọran pada.

Olupese?: O dabi oniṣẹ kanna ni C. Ti ilana akọkọ ba jẹ otitọ lẹhinna apẹẹrẹ ti a lo fun idanwo ni ilana keji, bibẹkọ ti o jẹ ẹkẹta. Nikan ọkan ninu awọn ọna keji ati awọn kẹta ni a ṣe ayẹwo.

Awọn apẹrẹ1 , pattern2 form of expression is called a range range . O baamu gbogbo awọn igbasilẹ igbasilẹ ti o bẹrẹ pẹlu igbasilẹ ti o ni ibamu pẹlu aami1 , ati tẹsiwaju titi igbasilẹ ti o ni afihan awọn ohun elo 2 , ti o kun. O ko ni ibamu pẹlu eyikeyi miiran ti awọn ilana ikosile.

Awọn ifarahan deede

Awọn gbolohun igbagbogbo jẹ aami ti a tẹsiwaju ni egrep . Wọn ti ni kikọ nkan gẹgẹbi atẹle:

c

baamu awọn ti kii ṣe afihan c .

\ c

ni ibamu pẹlu ohun kikọ gangan c .

.

baamu eyikeyi ohun kikọ pẹlu newline.

^

ibaamu ibẹrẹ ti okun kan.

$

baamu opin okun.

[ abc ... ]

akojọ ohun kikọ, ibaamu eyikeyi ninu awọn ohun kikọ abc ....

[^ abc ... ]

ti akojopo akojọ awọn ohun kikọ, ni ibamu si eyikeyi ohun kikọ ayafi abc ....

r1 | r2

alternation: awọn ere-kere boya r1 tabi r2 .

r1r2

concatenation: awọn ere-ije r1 , ati lẹhinna r2 .

r +

baamu ọkan tabi diẹ ẹ sii r s.

r *

awọn odo ere-kere tabi diẹ ẹ sii.

r ?

awọn odo ere-kere tabi ọkan kan.

( r )

akojọpọ: awọn ere-kere r .

r { n }

r { n ,}

r { n , m } Nọmba kan tabi meji ninu awọn àmúró ntokasi ọrọ ikẹkọ . Ti nọmba kan ba wa ninu awọn àmúró, awọn atunṣe iṣaaju ikorẹ r tun tun ni igba diẹ. Ti o ba wa awọn nọmba meji ti o yapa nipasẹ apẹrẹ, r tun tun n si awọn akoko m . Ti nọmba kan ti o tẹle lẹhin naa ba wa, lẹhinna a tun tun ṣe ni o kere ju igba diẹ.

Awọn ọrọ igbasilẹ nikan ni o wa ti o ba jẹ boya - - aarin tabi --re-aarin ti wa ni pato lori laini aṣẹ.

\ y

baamu okun ti o ṣofo ni boya ibẹrẹ tabi opin ọrọ kan.

\ B

baamu okun ti o ṣofo laarin ọrọ kan.

\ <

baamu okun ti o ṣofo ni ibẹrẹ ọrọ kan.

\>

baamu okun ti o ṣofo ni opin ọrọ kan.

\ w

baamu eyikeyi ọrọ-agbegbe ẹda (lẹta, nọmba, tabi afihan).

\ W

bamu eyikeyi ohun kikọ ti kii ṣe ipinnu ọrọ.

\ `

baamu okun ti o ṣofo ni ibẹrẹ ti a fi sii (okun).

\ '

baamu okun ti o ṣofo ni opin kan ti o baamu.

Awọn abajade igbasẹ ti o wulo ni awọn okunmọ okun (wo isalẹ) tun wulo ni awọn igbasilẹ deede.

Awọn kilasi iwa jẹ ẹya tuntun ti a ṣe ni ipo POSIX. Aami kikọ jẹ akọsilẹ pataki kan fun apejuwe awọn akojọ ti awọn ohun kikọ ti o ni ẹda kan pato, ṣugbọn nibi ti awọn kikọ gangan ti ara wọn le yato lati orilẹ-ede si orilẹ-ede ati / tabi lati awọn ohun kikọ ti a ṣeto si ṣeto ohun kikọ. Fun apẹẹrẹ, iro ti ohun ti o jẹ ẹya alakan lẹsẹsẹ yatọ si ni USA ati ni France.

Ipele kikọ kan nikan wulo ni ikosile deede ninu awọn biraketi ti akojọ aṣayan kan. Awọn kilasi iwa ni [: , Koko ti o tumọ si kilasi, ati :] . Awọn irufẹ ipo ti a sọ nipasẹ POSIX boṣewa ni:

[: alnum:]

Awọn ohun kikọ Alphanumeric.

[: alpha:]

Awọn ohun kikọ alfabini.

[: òfo:]

Aaye tabi awọn ohun kikọ silẹ.

[: cntrl:]

Awọn ohun kikọ Iṣakoso.

[: nọmba:]

Awọn ohun kikọ nọmba.

[: eeya:]

Awọn lẹta ti o jẹ apẹrẹ ti o le han. (A aaye jẹ atẹjade, ṣugbọn kii ṣe han, lakoko ti a jẹ mejeji.)

[: isalẹ:]

Awọn akọsilẹ alailẹgbẹ ti isalẹ-nla.

[: tẹjade:]

Awọn lẹta ti a le ṣatunkọ (awọn lẹta ti kii ṣe awọn akoso aṣẹ.)

[: punct:]

Awọn ohun kikọ ikọwe (awọn lẹta ti kii ṣe lẹta, awọn nọmba, awọn lẹta iṣakoso, tabi awọn aaye aaye aaye).

[:aaye:]

Awọn ohun elo inu aaye (bii aaye, taabu, ati firanṣẹ, lati lorukọ diẹ).

[: oke:]

Awọn akọsilẹ ti awọn lẹta ti o wa ni oke-nla.

[: xdigit:]

Awọn lẹta ti o jẹ awọn nọmba hexadecimal.

Fun apẹẹrẹ, ṣaaju ki o to pe POSIX, lati ṣe afiwe awọn ohun kikọ alphanumeric, iwọ yoo ni lati kọ / [A-Za-z0-9] / . Ti o ba ṣeto awọn ohun kikọ miiran ninu rẹ, eyi yoo ko ni ibamu fun wọn, ati pe ti o ba ṣeto irufẹ ohun ti o yatọ si ASCII, eyi le ko paapaa awọn ohun kikọ ASCII alphanumeric. Pẹlu awọn kilasi kilasi POSIX, o le kọ / [[: alnum:]] / , ati eyi ṣe afiwe awọn ohun kikọ ati ti awọn nọmba inu ẹya kikọ rẹ.

Awọn abala pataki pataki miiran le han ninu akojọ awọn ohun kikọ. Awọn wọnyi ni o wa si awọn ohun kikọ ti kii-ASCII, ti o le ni awọn ami aami-kan (ti a pe ni awọn eroja ti o n ṣakoṣo ) ti o ni ipoduduro pẹlu ẹya ẹ sii ju ọkan lọ, ati pẹlu awọn lẹta pupọ ti o jẹ deede fun sisopọ , tabi iyatọ, awọn idi. (Fun apẹẹrẹ, ni Faranse, pẹtẹlẹ `` e '' ati eefa ti o ni idaniloju ni deede.)

Ṣiṣẹ Awọn aami

Aami apejuwe jẹ ami-ọrọ ti o pọju-pupọ ti o pa mọ ni [. ati .] . Fun apẹẹrẹ, ti o ba jẹ ching element, lẹhinna [[.ch.]] Jẹ ikosile deede ti o baamu eyi ti o ṣajọ ipinnu, lakoko ti [ch] jẹ ikosile deede ti o baamu boya c tabi h .

Awọn kilasi ipọnju

Ipele ipo-ọna jẹ orukọ ti agbegbe-fun akojọ awọn ohun kikọ ti o jẹ deede. Awọn orukọ ti wa ni paade ni [= ati =] . Fun apẹẹrẹ, orukọ le ṣee lo lati soju gbogbo awọn ti ',' '``' ',' 'ati `` e`.' "Ni idi eyi, [[= e =]] jẹ ikosile deedee ti bamu eyikeyi ti e , e ' , tabi e` .

Awọn ẹya ara ẹrọ wọnyi jẹ pataki pupọ ni awọn agbegbe ti kii ṣe ede Gẹẹsi. Awọn iṣẹ ile-iṣẹ giga ti gawk nlo fun awọn ibaraẹnisọrọ deede ni bayi o da awọn kilasi kilasi POSIX nikan; wọn ko ṣe idajọ pe o ṣapọ awọn ami tabi awọn kilasi ti o ni ibamu.

Awọn \ y , \ B , \ < , \> , \ w , \ W , \ ` , ati \ 'awọn oniṣẹ wa ni pato si gawk ; wọn jẹ awọn amugbooro ti o da lori awọn ohun elo ni GNU ikẹkọ ikẹkọ deede.

Awọn orisirisi ila iṣakoso aṣẹ ṣakoso bi gawk ṣe ṣalaye awọn ohun kikọ ni awọn igbasilẹ deede.

Ko si awọn aṣayan

Ni apẹẹrẹ aiyipada, gawk pese gbogbo awọn ohun elo ti POSIX awọn igbasilẹ deede ati awọn oniṣẹ GGU deede ti o salaye loke. Sibẹsibẹ, awọn ifihan aarin ko ni atilẹyin.

--posix

Nikan awọn apejuwe POSIX deede ni atilẹyin, awọn oniṣẹ GNU kii ṣe pataki. (Fun apẹẹrẹ, \ w ni ibamu pẹlu w ). Awọn ọrọ igbasilẹ ni a gba laaye.

- ibile

Awọn iṣọrọ deede ti Unix awk ti wa ni ibamu. Awọn oniṣẹ GNU kii ṣe pataki, awọn irọ aarin wa ko si, ati pe ko jẹ awọn kilasi kilasi POSIX ( [[: alnum:]] ati bẹbẹ lọ). Awọn lẹta ti a ṣalaye nipasẹ awọn ẹda octal ati hexadecimal igbasilẹ awọn iṣeduro ni a ṣe tọju si gangan, paapaa ti wọn ba ṣe apejuwe awọn ọrọ metacharacters deede.

- akoko-aarin

Gba awọn ifihan aarin ni awọn gbolohun deede, paapa ti o ba jẹ - a ti pese ibile .

Awọn iṣẹ

Awọn gbólóhùn iṣẹ ni a ti pa mọ ni àmúró, { ati } . Awọn gbólóhùn iṣẹ jẹ iṣẹ-ṣiṣe ti o wa ni deede, awọn idiwọn, ati awọn gbolohun ọrọ ti a ri ni ọpọlọpọ awọn ede. Awọn oniṣẹ, awọn gbólóhùn iṣakoso, ati awọn ọrọ ti nwọle /jade ti o wa ni ibamu pẹlu awọn ti o ni C.

Awọn oniṣẹ

Awọn oniṣẹ ni AWK, fun titoku ipolowo, jẹ

( ... )

Ajọpọ

$

Itọkasi aaye.

++ -

Increment ati decrement, asọtẹlẹ mejeji ati postfix.

^

Isọdọmọ ( ** tun le ṣee lo, ati ** = fun olupese iṣẹ).

+ -!

Unary plus, unary minus, ati nitootọ eegun.

* /%

Isodipupo, pipin, ati modulu.

+ -

Afikun ati iyokuro.

aaye

Okun okunkun.

<>

<=> =

! = == Awọn oniṣẹ ajọṣepọ deede.

~! ~

Ìfípáda adaṣe ti iṣagbe, iṣiro ti o baamu. AKIYESI: Ma ṣe lo ikosile deedee ( / foo / ) ni apa osi-ẹgbẹ kan ti ~ tabi ! ~ . Lo ọkan ni apa ọtun. Awọn ikosile / foo / ~ exp ni o ni itumo kanna bi (($ 0 ~ / foo /) ~ exp ) . Eyi kii ṣe ohun ti a pinnu.

ni

Awọn ẹgbẹ ẹgbẹ.

&&

Igbonwa ATI.

||

Imoye TABI.

?:

Ọrọ ikosile C. Eyi ni fọọmu expr1 ? expr2 : expr3 . Ti expr1 jẹ otitọ, iye ọrọ naa jẹ expr2 , bibẹkọ ti o jẹ expr3 . Nikan ọkan ninu expr2 ati expr3 ni a ṣe ayẹwo.

= + = - =

* = / =% = ^ = Ifiweranṣẹ. Mejeeji iṣẹ iyasọtọ ( var = iye ) ati iṣẹ-iṣẹ (awọn aami miiran) ti ni atilẹyin.

Awọn alaye Iṣakoso

Awọn gbólóhùn iṣakoso ni bi wọnyi:

ti o ba jẹ pe ( ọrọ ) gbólóhùn lakoko ( ipo ) fun ( alaye expr2 expr3 ) fun ( iyatọ ninu titobi ) ifitonileti ifilohun tẹsiwaju pa ẹru [ itọnisọna ] paarẹ papo kuro [ ikosile ] { gbólóhùn }

Awọn Ikede O / O

Awọn ọrọ ipinnu / ti o njade ni awọn wọnyi:

sunmo ( faili [ , bi ] )

Pari faili, pipe tabi àjọ-ilana. Aṣayan bii o yẹ ki o ṣee lo nikan nigbati o ba pari opin kan ti paipu ọna meji si ilana-alapọ. O gbọdọ jẹ iye iyebiye, boya "si" tabi "lati" .

gbasilẹ

Ṣeto $ 0 lati igbasilẹ titẹ sii; ṣeto NF , NR , FNR .

gba faili < faili

Ṣeto $ 0 lati igbasilẹ ti faili ; ṣeto NF .

iyatọ ti o yatọ

Ṣeto yatọ lati igbasilẹ igbasilẹ ti o tẹle; ṣeto NR , FNR .

ti o wa ni ila < faili

Ṣeto yatọ lati igbasilẹ ti o tẹle faili .

aṣẹ | atokọ [ var ]

Ṣiṣe pipaṣẹ pipaṣẹ ọpa boya boya $ 0 tabi var , bi loke.

aṣẹ | & isopo [ var ]

Ilana fifaṣe bi ilana àjọ-iṣẹ pipọ awọn iṣẹjade boya sinu $ 0 tabi var , bi loke. Awọn igbesẹ Co-iṣẹ jẹ igbesoke gawk .

Itele

Duro ṣiṣe igbasilẹ igbasilẹ ti isiyi. Igbasilẹ igbasilẹ ti wa ni a ka ati ṣiṣe bẹrẹ pẹlu apẹrẹ akọkọ ninu eto AWK. Ti o ba ti pari ti data titẹ sii, awọn idapo END naa, ti o ba jẹ eyikeyi, ti wa ni pipa.

Nextfile

Dawọ ṣiṣe faili titẹ sii lọwọlọwọ. Igbasilẹ igbasilẹ igbasilẹ ti o wa lati inu faili titẹ atẹle. FILENAME ati ARGIND ti wa ni imudojuiwọn, FNR ti tun pada si 1, ati processing bẹrẹ pẹlu pẹlu akọkọ ilana ni eto AWK. Ti o ba ti pari ti data titẹ sii, awọn idapo END naa, ti o ba jẹ eyikeyi, ti wa ni pipa.

tẹjade

Ti tẹwe igbasilẹ ti o wa lọwọlọwọ. Igbasilẹ oṣiṣẹ ti pari pẹlu iye ti iyipada ORS .

Atẹjade expr-list

Ti tẹ awọn ọrọ jade. Kọọkan ikosile niya nipasẹ iye ti TI ID . Igbasilẹ oṣiṣẹ ti pari pẹlu iye ti iyipada ORS .

tẹ expr-list > faili

Ti tẹ awọn ifọrọhan lori faili . Kọọkan ikosile niya nipasẹ iye ti TI ID . Igbasilẹ oṣiṣẹ ti pari pẹlu iye ti iyipada ORS .

tẹjade fmt, expr-list

Ki o si tẹjade.

tẹjade fmt, expr-list > faili

Ki o si tẹjade lori faili .

eto ( ila-cmd )

Ṣiṣẹ laini cmd-aṣẹ , ki o si pada ipo ti o jade. (Eleyi le ma wa lori awọn ọna ti kii ṣe POSIX.)

fflush ( [ faili ] )

Pa gbogbo awọn iṣugbamu ti o ni nkan ṣe pẹlu faili ti n ṣilẹjade tabi faili fifọ. Ti faili ba sọnu, lẹhinna o ṣee ṣe iṣeduro ti o ṣeeṣe. Ti faili ba jẹ okun onigbọnna, lẹhinna gbogbo awọn faili ti o ṣiṣi ati awọn ọpa oniho ni awọn aṣiṣe wọn ti mu.

Awọn atunṣe atunṣe afikun miiran ni a fun laaye lati tẹjade ati tẹjade .

atẹjade ... >> faili

ṣe atilẹyin iṣẹ lọ si faili naa .

atẹjade ... | aṣẹ

kọwe lori pipe.

atẹjade ... | & aṣẹ

rán awọn data si ilana-iṣẹ.

Ilana aṣẹ-pada pada 0 ni opin faili ati -1 lori aṣiṣe kan. Lori aṣiṣe, ERRNO ni okun ti n ṣalaye iṣoro naa.

AKIYESI: Ti o ba lo pipe tabi igbesẹ- koko -ọna lati ṣalaye , tabi lati tẹjade tabi tẹjade laarin iṣọ, o gbọdọ lo sunmọ () lati ṣẹda awọn igba tuntun ti aṣẹ naa. AWK ko ni pa awọn pipẹ laifọwọyi tabi awọn igbasilẹ-igba ti wọn ba pada EOF.

Gbólóhùn Ìpínlẹ náà

Awọn ẹya AWK ti gbólóhùn titẹ ati iṣẹ- ọwọ Sprintf () lo awọn ọna kika alaye iyipada wọnyi:

% c

Aṣa ASCII. Ti ariyanjiyan ti a lo fun % c jẹ nọmba, a tọju rẹ bi ohun kikọ ati ki o tẹjade. Bibẹkọ ti, ariyanjiyan naa wa ni okun, ati pe ohun kikọ akọkọ ti okun naa ni a tẹjade.

% d , % i

Nọmba nomba eleemewa (ipin odidi).

% e,% E

Nọmba ojuami ti fọọmu ti fọọmu [-] d.dddddde [+ -] dd . Awọn ọna kika % E nlo E dipo e .

% f

Nọmba ojuami kan ti afẹfẹ [-] ddd.dddddd .

% g,% G

Lo % e tabi % f iyipada, eyikeyi ti o kuru, pẹlu awọn odo ti ko ni iyasọtọ. Iwọn % G lilo % E dipo % e .

% o

Nọmba nomba ti ko tọka (tun nọmba kan).

% u Nọmba nomba eleemeku ti a ko niye (lẹẹkansi, odidi kan).

% s

Aṣayan kikọ kan.

% x,% X

Nọmba hexadecimal ti a ko ni orukọ (odidi kan). Ilana % X nlo ABCDEF dipo abcdef .

%%

Akankan % ohun kikọ; ko si ariyanjiyan ti yipada.

Ti o ba je eyi, awọn i fi ranṣẹ afikun le duro laarin awọn % ati lẹta lẹta:

ka $

Lo awọn iṣiro ariyanjiyan naa ni aaye yii ni titobi. Eyi ni a npe ni olutọye ipo ati pe a ṣe pataki fun lilo ni awọn ẹya ti a tumọ si ti awọn gbolohun ọrọ, kii ṣe ni ọrọ atilẹba ti eto AWK kan. O jẹ itẹsiwaju gawk .

-

Ọrọ naa yẹ ki o wa ni idasilẹ larin aaye rẹ.

aaye

Fun awọn iyipada nomba, awọn iye owo ti o dara pẹlu aaye kan, ati awọn iye odi pẹlu aami atokuro.

+

Aami ami ti o lo, ṣaju ilọsiwaju iwọn (wo isalẹ), sọ pe nigbagbogbo pese ami kan fun awọn iyipada nomba, paapaa ti awọn data to wa ni tito ni rere. Iwọn + npa agbara ayipada aye.

#

Lo orisii '`miiran' 'fun awọn lẹta iṣakoso kan. Fun % o , pese odo odo kan. Fun % x , ati % X , pese ipese 0x tabi 0x fun esi ti kii ṣe. Fun % e , % E , ati % f , abajade nigbagbogbo ni aaye decimal. Fun % g , ati % G , awọn aami atẹgun ko yọ kuro ninu abajade.

0

Aami 0 (odo) kan ṣe bi ọkọ ayọkẹlẹ, ti o tọka si o yẹ ki o ni fifun ni odo pẹlu odo ju awọn aaye. Eyi tun ṣe si awọn ọna kika ti kii ṣe-nọmba. Ilẹ yi nikan ni ipa nigbati aaye aaye ba tobi ju iye to wa lọ.

iwọn

Awọn aaye yẹ ki o wa ni fifun si iwọn yi. Ilẹ naa ti ni fifẹ ni fifẹ pẹlu awọn alafo. Ti o ba ti lo Flag 0 , o ni fifun pẹlu awọn zero.

. deede

Nọmba ti o sọ idiyele lati lo nigba titẹ sita. Fun awọn ọna kika % e , % E , ati % f , eyi ṣọkasi nọmba awọn nọmba ti o fẹ tẹ si ọtun ti aaye eleemewa. Fun awọn % g , ati awọn ọna kika % G , o ṣe alaye nọmba ti o pọju awọn nọmba pataki. Fun awọn faili% d , % o , % i , % u , % x , ati % X , o ṣọkasi nọmba to kere julọ ti awọn nọmba lati tẹ. Fun % s , o ṣọkasi nọmba ti o pọju fun awọn ohun kikọ lati okun ti o yẹ ki a tẹ.

Iwọn iwọn agbara ati awọn ipo ti o ṣaṣeyọri ti awọn ilana ti ANSI C ((awọn iṣẹ) ti wa ni atilẹyin. A * ni ibi ti boya awọn iwọn tabi pato awọn pato ṣe mu awọn iye lati ya lati akojọ ariyanjiyan lati tẹ tabi sprintf () . Lati lo olutọju ipo kan pẹlu iwọn igbẹkẹle tabi to kongba, pese iye kika $ lẹhin ti * ni okun kika. Fun apẹẹrẹ, "% 3 $ * 2 $. * 1 $ s" .

Awọn orukọ Fidio Pataki

Nigbati o ba ṣe I / O redirection lati boya tẹjade tabi tẹ sinu faili kan, tabi nipasẹ ọna lati faili, gawk mọ awọn filenames pataki kan ninu. Awọn filenames wọnyi gba aaye wọle lati ṣii awọn akọwe faili ti o jogun lati ilana obi ti gawk (ni igbagbogbo ikarahun). Awọn faili faili wọnyi tun le ṣee lo lori laini aṣẹ lati so awọn faili data. Awọn filenames jẹ:

/ dev / stdin

Atilẹyin titẹsi.

/ dev / stdout

Isọjade ti o ṣe deede.

/ dev / stderr

Aṣiṣe aṣiṣe aṣiṣe naa.

/ dev / fd / n

Faili ti o ni nkan ṣe pẹlu oluṣakoso faili folda n .

Awọn wọnyi wulo julọ fun awọn aṣiṣe aṣiṣe. Fun apere:

tẹ sita "O pa o!" > "/ dev / stderr"

nígbà tí o yẹ ki o lo

tẹ sita "O pa o!" | "O nran 1> & 2"

Awọn filenames pataki to wa le ṣee lo pẹlu olupese iṣẹ & itọsọna-co-processing fun awọn isopọ nẹtiwọki TCP / IP.

/ inet / tcp / lport / rhost / rport

Faili fun asopọ TCP / IP lori ibudo ibudo agbegbe si ibudo isinmi latọna jijin lori ibudo ibudo ibudo. Lo ibudo kan ti 0 lati ni eto mu ibudo kan.

/ inet / udp / lport / rhost / rport

Iru, ṣugbọn lo UDP / IP dipo TCP / IP.

/ inet / raw / lport / rhost / rport

Ni ipamọ fun lilo ojo iwaju.

Awọn filenames pataki miiran pese aaye si alaye nipa ilana ilana gawk . Awọn filenames wọnyi wa bayi. Lo oruko PROCINFO lati gba alaye ti won pese. Awọn filenames jẹ:

/ dev / pid

Kika faili yi pada ti ID ilana ti ilana lọwọlọwọ, ni eleemewaa, ti pari pẹlu titun kan.

/ dev / ppid

Kika faili yi pada ti ID ilana obi ti ilana lọwọlọwọ, ni eleemewaa, ti pari pẹlu titun kan.

/ dev / pgrpid

Kika faili yi pada ti ID ẹgbẹ ẹgbẹ ti ilana lọwọlọwọ, ni eleemewa, ti pari pẹlu titun kan.

/ dev / aṣàmúlò

Kika faili yi pada sẹhin kan ti o ti pari pẹlu tuntun tuntun. Awọn aaye ti wa ni pinpin pẹlu awọn alafo. $ 1 ni iye ti ipe eto ipasẹ (2), $ 2 ni iye ti ipe eto ṣiṣe (2), $ 3 ni iye ti eto idaniwọle getg (2), ati $ 4 jẹ iye ti getegid (2) ipe eto. Ti o ba wa awọn aaye afikun miiran, wọn jẹ awọn ID ẹgbẹ ti a ti pada nipasẹ awọn alakoso (2). Awọn ẹgbẹ pupọ le ma ṣe atilẹyin lori gbogbo awọn ọna šiše.

Awọn iṣẹ Awọn nọmba

AWK ni awọn iṣẹ iṣiro ti a ṣe sinu:

atan2 ( y , x )

Pada arctangent ti y / x ni awọn radians.

cos ( expr )

Pada ẹyin ti expr , eyiti o wa ninu awọn oni-ara.

exp ( expr )

Išẹ ti o pọju.

int ( expr )

Truncates si odidi.

log ( expr )

Iṣẹ iṣẹ logarithm adayeba.

irin-ajo ()

Pada nọmba alẹ laarin 0 ati 1.

ese ( expr )

Pada sine ti expr , eyiti o wa ninu awọn radians.

sqrt ( expr )

Išẹ iṣẹ root square.

srand ( [ expr ] )

Lilo n ṣalaye gẹgẹbi irugbin titun fun monomono nọmba nọmba. Ti ko ba si expr , pese akoko ti ọjọ. Iwọn iyipada jẹ irugbin ti tẹlẹ fun iwọn monomono nọmba.

Awọn iṣẹ iṣẹ okun

Gawk ni awọn iṣẹ iṣakoso ti a ṣe sinu wọnyi:

asort ( s [ , d ] )

Pada nọmba awọn eroja ti o wa ninu ipo orisun s . Awọn akoonu ti s ti wa ni lẹsẹsẹ nipa lilo awọn ofin deede ti gawk fun iṣafihan awọn ipo, ati awọn atọka ti awọn nọmba ti a ti ṣeto si o ti rọpo pẹlu awọn odidi adanese ti o bẹrẹ pẹlu 1. Ti a ba ti ṣafihan idiyele ipo idiyele d jẹ, lẹhinna s jẹ akọkọ duplicated sinu d , ati lẹhinna d ti wa ni lẹsẹsẹ, nlọ awọn atọka ti awọn orisun orisun s aiyipada.

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

Ṣawari awọn ikanni afojusun t fun awọn ere ti ikunsọrọ deede r . Ti h jẹ okun ti o bẹrẹ pẹlu g tabi G , lẹhinna rọpo gbogbo awọn ere-kere ti r pẹlu s . Bibẹkọkọ, h jẹ nọmba kan ti o nfihan iru ere ti r lati ropo. Ti a ko ba pese t , a lo $ 0 dipo. Laarin awọn ọrọ ti a rọpo s , awọn ọna \ n , nibiti n jẹ nọmba kan lati 1 si 9, le ṣee lo lati tọka ọrọ ti o baamu si ẹnu-ọrọ ti a ti sọ awọn obi. Atẹle % 0 duro fun gbogbo ọrọ ti a baamu, gẹgẹbi iṣe ti & . Kii ipin () ati gsub () , a ti fi iyipada ti a ṣe atunṣe pada bi abajade iṣẹ naa, ati pe okun ayọkẹlẹ atilẹba ko ni yipada.

gsub ( r , s [ , t ] )

Fun adarọ-ipele kọọkan ti o baamu ikosile ikosile r ni okun t , rọpo okun s , ki o si da nọmba awọn substitutions pada. Ti a ko ba pese t , lo $ 0 . An & ni ọrọ rirọpo ti rọpo pẹlu ọrọ ti o daamu. Lo \ & lati gba ede ti gidi & . (Eyi ni a gbọdọ tẹ bi "\ & &" ; wo GAWK: Awọn eto eto AWK ti o dara fun apero ti awọn ofin fun awọn & rsquo; s ati awọn igbasilẹ ninu ọrọ ti o rọpo sub () , gsub () , ati peopleub () .)

atọka ( s , t )

Pada awọn atọka ti okun t ni okun s , tabi 0 ti t ba wa bayi. (Eyi tumọ si pe awọn ohun kikọ ti o bẹrẹ bẹrẹ ni ọkan.)

ipari ( [ s ] )

Pada ipari ti okun s , tabi ipari ti $ 0 ti a ko ba ti s .

baramu ( s , r [ , a ] )

Pada ipo ni s ibi ti ikosile ikosile r n ṣẹlẹ, tabi 0 ti r r ko ba wa, o si ṣeto awọn iye ti RSTART ati RLENGTH . Akiyesi pe aṣẹ ariyanjiyan jẹ kanna bii fun awọn oniṣẹ: iyatọ. Ti a ba pese apẹrẹ kan , a ti yọ lẹhinna awọn eroja 1 nipasẹ n ti wa ni kikun pẹlu awọn ipin ti o jẹ ibamu pẹlu idaniloju ti awọn obi ti o ni ibamu ni r r . Ẹsẹ 0'th ti a ni awọn ipin ti s baamu nipasẹ gbogbo ikosile ikosile r .

pipin ( s , a [ , r ] )

Pin awọn okun s sinu tito- a kan lori ikosile ikosile r , ki o si pada nọmba ti awọn aaye. Ti o ba ti gba r , a lo FS dipo. A ti fi nkan akọkọ silẹ. Splitting ṣe ihuwasi si idinku aaye, ti a salaye loke.

sprintf ( fmt , expr-list )

Ti tẹ iwe-iye-iwe ni ibamu si fmt , o si pada okun okun ti o mu.

strtonum ( str )

Ṣayẹwo awọn iṣiro, ki o si pada iye-iye rẹ. Ti awọn ipele ba bẹrẹ pẹlu asiwaju 0 , strtonum () jẹ pe ir jẹ nọmba octal. Ti awọn ipele ba bẹrẹ pẹlu asiwaju 0x tabi 0X , strtonum () jẹ pe ir jẹ nọmba hexadecimal.

sub ( r , s [ , t ] )

Gege bi gsub () , ṣugbọn nikan ni o rọpo parapo tuntun.

substr ( s , i [ , n ] )

Pada ni julọ julọ ti o ti ṣe nkan ti o bẹrẹ ni ibẹrẹ ni i . Ti n ba ti yọ, awọn iyokù s ti lo.

si fifun ( str )

Pada daakọ kan ti okun okun, pẹlu gbogbo awọn lẹta nla ti o wa ni oke ni ọna ti o nipo si ẹgbẹ ti o kere ju. Awọn ohun kikọ alailẹgbẹ ti kii ṣe ayipada.

ti o ni ( str )

Pada daakọ kan ti okun okun, pẹlu gbogbo awọn ohun kikọ kekere ti o wa ni idiwọn ti a tọka si awọn ẹgbẹ ti o ga julọ. Awọn ohun kikọ alailẹgbẹ ti kii ṣe ayipada.

Iṣẹ Awọn Aago

Niwon ọkan ninu awọn lilo akọkọ ti awọn eto AWK jẹ awọn faili log faili ti o ni alaye imuduro akoko, gawk pese awọn iṣẹ wọnyi fun gbigba awọn ami akoko ati kika wọn.

mktime ( ọjọpec )

Awọn ọjọ-ọjọ Rurns sinu apẹrẹ akoko kanna bakanna ti o ti pada nipasẹ systemiki () . Ọjọ- ọjọ jẹ okun ti fọọmu YYYY MM DD HH MM SS [DST] . Awọn akoonu ti okun naa jẹ awọn nọmba mẹfa tabi awọn nọmba meje ti o jẹju ni ọdun ni kikun pẹlu ọdun, oṣu lati ọdun 1 si 12, ọjọ oṣu lati ọdun 1 si 31, wakati ti ọjọ lati 0 si 23, iṣẹju lati 0 si 59, ati awọn keji lati 0 si 60, ati ifanukọna ti o yan diẹ fifipamọ ọkọ. Awọn iye ti awọn nọmba wọnyi ko nilo lati wa laarin awọn sakani ti o wa; fun apẹẹrẹ, wakati kan ti -1 tumo si 1 wakati kan ki o to di aṣalẹ. Awọn orisun-odo Gregorian kalẹnda ti wa ni pe, pẹlu odun 0 ọdun ti odun 1 ati ọdun -1 ọdun ti odun 1. O jẹ akoko ti o wa ni agbegbe agbegbe agbegbe. Ti o ba jẹ pe oṣan imọlẹ if'oju jẹ rere, akoko naa ni a pe lati jẹ akoko ifipamọ ọjọmọ; ti o ba jẹ odo, akoko naa ni a pe lati jẹ akoko asiko; ati ti o ba jẹ odi (aiyipada), mktime () n gbiyanju lati pinnu boya akoko ifipamọ ọjọ jẹ ni ipa fun akoko ti o to. Ti datespec ko ni awọn eroja ti o to tabi ti akoko akoko ba jade kuro ni ibiti, mktime () pada -1.

strftime ( [ kika [ , timestamp ]] )

Awọn akoko timestamp ni ibamu si awọn alayeye ni kika. Akoko timestamp gbọdọ jẹ ti fọọmu kanna ti a ti pada nipasẹ systime () . Ti timestamp ba nsọnu, a lo akoko ti o wa lọwọlọwọ. Ti ọna kika ba sọnu, a ṣe deede ọna kika ti o yẹ fun ọjọ ti a ṣe (1). Wo alayeye fun iṣẹ strftime () ni ANSI C fun awọn iyipada kika ti o jẹ ẹri lati wa. A ikede ti ikede-ti-ni- gbangba (3) ati oju-iwe eniyan fun o wa pẹlu gawk ; ti o ba lo pe ikede naa lati kọ gawk , lẹhinna gbogbo awọn iyipada ti a ṣalaye ninu iwe eniyan naa wa lati gawk.

ẹrọ ()

Pada akoko akoko ti ọjọ yii bi nọmba ti awọn aaya niwon Epoch (1970-01-01 00:00:00 UTC lori awọn ọna POSIX).

Awọn iṣẹ Iṣilo Iyọ

Bibẹrẹ pẹlu version 3.1 ti gawk , awọn iṣẹ ifọwọyi awọn nkan wọnyi wa. Wọn ṣiṣẹ nipa gbigbe iyipada awọn ipinnu ṣiṣan n ṣatunye tọju si meji , ṣe išišẹ naa, lẹhinna ni iyipada esi pada si aaye oju omi. Awọn iṣẹ ni:

ati ( v1 , v2 )

Da awọn bitwise pada ati ti awọn iye ti a pese nipa v1 ati v2 .

compl ( Val )

Daaṣepo idibajẹ ti o wulo .

lshift ( Val , count )

Da iye ti val , iye osi silẹ nipa kika awọn die-die.

tabi ( v1 , v2 )

Da a pada ORLY ti awọn iye ti a pese nipa v1 ati v2 .

rshift ( val , count )

Da iye iye ti val , pada si ọtun nipa ka iye die.

xor ( v1 , v2 )

Pada XOR bitwise ti iye ti a pese nipa v1 ati v2 .

Awọn iṣẹ iṣẹ-ilu

Bibẹrẹ pẹlu version 3.1 ti gawk , awọn iṣẹ wọnyi le ṣee lo lati inu eto AWK rẹ fun itumo awọn gbolohun ni akoko idaduro. Fun awọn alaye kikun, wo GAWK: Eto Amẹrika AWK .

bindlinkdomain ( itọnisọna [ , ašẹ ] )

Sọkasi igbasilẹ ni ibi ti gawk wa fun awọn faili .mo , ni idiyele ti wọn ko ni tabi a ko le fi sinu awọn ipo "'deede"' (fun apẹẹrẹ, nigba idanwo). O tun pada liana ti o wa ni isakoso '' owun. ''

Iyipada aiyipada ni iye ti TEXTDOMAIN . Ti o ba jẹ itọnisọna jẹ okun onigbọn ( "" ), lẹhinna opo-iwe-ašẹ () ṣe atunṣe isopọmọ lọwọlọwọ fun agbegbe ti a fun.

dcgettext ( okun [ , ašẹ [ , ẹka ]] )

Pada iyipada ti okun ni aaye ìkápá ọrọ fun ẹka ẹka ẹka locale. Iye aiyipada fun agbegbe ni iye ti isiyi ti TEXTDOMAIN . Iye aiyipada fun eya ni "LC_MESSAGES" .

Ti o ba pese iye kan fun eya , o gbọdọ jẹ okun ti o to dogba si ọkan ninu awọn ẹka agbegbe ti a mọ ni GAWK: Eto Amẹrika AWK . O tun gbọdọ pese aaye-ọrọ kan. Lo TEXTDOMAIN ti o ba fẹ lo aaye yii lọwọlọwọ.

dcngettext ( string1 , string2 , nọmba [ , ašẹ [ , ẹka ]] )

Pada ọna ọpọ ti a lo fun nọmba ti itumọ okun string1 ati string2 ni aaye- ašẹ agbegbe fun ẹka ẹka ẹka . Iye aiyipada fun agbegbe ni iye ti isiyi ti TEXTDOMAIN . Iye aiyipada fun eya ni "LC_MESSAGES" .

Ti o ba pese iye kan fun eya , o gbọdọ jẹ okun ti o to dogba si ọkan ninu awọn ẹka agbegbe ti a mọ ni GAWK: Eto Amẹrika AWK . O tun gbọdọ pese aaye-ọrọ kan. Lo TEXTDOMAIN ti o ba fẹ lo aaye yii lọwọlọwọ.

Awọn iṣẹ-ṣiṣe ti a fi ṣe pataki

Awọn iṣẹ ni AWK ti wa ni asọye bi wọnyi:

orukọ iṣẹ ( akojọ aṣayan ) { gbólóhùn }

Awọn iṣẹ ṣe pa nigba ti wọn pe wọn lati inu awọn ifihan ni boya awọn ilana tabi awọn iṣẹ. Awọn ifilelẹ gidi ti a pese ni ipe iṣẹ naa ni a lo lati ṣe atunṣe awọn ifilelẹ ipo ti a sọ ni iṣẹ naa. Awọn ipinlẹ ti kọja nipasẹ itọkasi, awọn iyatọ miiran ti wa nipasẹ iye.

Awọn iṣẹ iṣaaju ko jẹ akọkọ apakan ti ede AWK, ipese fun awọn oniyipada agbegbe jẹ dipo iṣọwọn: Wọn ti wa ni ikede bi awọn igbẹhin afikun ni akojọ aṣayan. Adehun naa jẹ lati pin awọn iyipada agbegbe lati awọn ikọkọ gidi nipasẹ awọn afikun awọn agbegbe ni akojọ aṣayan. Fun apere:

iṣẹ f (p, q, a, b) # a ati b jẹ agbegbe {...} / abc / {...; f (1, 2); ...}

Awọn iyọọda osi ni ipe iṣẹ kan nilo lati tẹle awọn iṣẹ iṣẹ lẹsẹkẹsẹ, laisi eyikeyi aaye funfun ti nwaye. Eyi ni lati yago fun iṣeduro kan ti iṣelọpọ pẹlu oniṣẹ onigbọwọ. Ihamọ yii ko ni ipa si awọn iṣẹ-ṣiṣe ti a ṣe akojọ rẹ loke.

Awọn iṣẹ le pe ara wọn ati pe o le jẹ recursive. Awọn iṣiro iṣẹ ti a lo bi awọn oniyipada agbegbe ti wa ni atẹgun si wiwọn nullu ati nọmba zero lori iṣẹ ipe iṣẹ.

Lo idapo pada lati pada iye kan lati iṣẹ kan. Iwọn iye pada ni a ko ṣafihan ti a ko ba pese iye, tabi ti iṣẹ naa ba pada nipasẹ '' kuna kuro '' opin.

Ti o ba ti wa - a ti pese, gawk kilo nipa awọn ipe si awọn iṣẹ ti a ko yan ni akoko akoko, dipo ni igba akoko. Npe iṣẹ ṣiṣe ti a ko le ṣakoso ni akoko igbadun jẹ aṣiṣe buburu kan.

Ọrọ fun fun ni a le lo ni ibi ti iṣẹ .

NIPA TI AWỌN NI AWỌN FUN AWỌN NI

Bẹrẹ pẹlu ikede 3.1 ti gawk , o le ṣe afikun awọn iṣẹ-ṣiṣe titun ti n ṣatunṣe si olutumọ alakọ ti nṣiṣẹ. Awọn alaye kikun ni o wa kọja aaye ti oju iwe apẹẹrẹ yii; wo GAWK: Eto Amẹrika AWK fun alaye.

itẹsiwaju ( ohun , iṣẹ )

Fi ọna asopọ ṣedopọ ni faili faili ti a npè ni orukọ, ati pe iṣẹ iṣẹ ni nkan naa, lati ṣe iṣeto-iṣẹ. Awọn wọnyi ni o yẹ ki a pese bi awọn gbolohun ọrọ. Pada iye pada nipa iṣẹ .

Iṣẹ yii ti pese ati ti akọsilẹ ni GAWK: Eto Amẹrika AWK , ṣugbọn ohun gbogbo nipa ẹya ara ẹrọ yii ni o le yipada ni igbasilẹ ti o tẹle. A NIPA so pe o ko lo ẹya ara ẹrọ yii fun ohunkohun ti o ko ba fẹ lati ṣe atunṣe.

SIGNALS

pgawk gba awọn ifihan agbara meji. SIGUSR1 n mu ki o ṣabọ profaili kan ati ki o ṣiṣẹ ipilẹ ipe si faili profaili, ti o jẹ boya awkp.out , tabi faili ti a daruko pẹlu aṣayan --profile . O lẹhinna tẹsiwaju lati ṣiṣe. SIGHUP n mu ki o ṣabọ profaili ati iṣẹ ipe akopọ ati lẹhinna jade.

Awọn apẹẹrẹ

Tẹjade ati to awọn orukọ awọn orukọ olumulo wiwo : BEGIN {FS = ":"} {tẹ $ 1 | "Ṣiṣe"} Lọwọ awọn ila ni faili kan: {nlines ++} END {awọn titẹ sii titẹ} Ṣaṣẹ kọọkan laini nipasẹ nọmba rẹ ninu faili: {titẹ FNR, $ 0} Iwọn ati nọmba laini (iyatọ lori akori kan): {titẹ NR, $ 0}

Atilẹkọ

Awọn iṣọwọn okunkun jẹ awọn abajade ti awọn ohun kikọ ti o wa ni kikọ si meji. Ni awọn agbegbe ti kii ṣe ede Gẹẹsi, o ṣee ṣe lati samisi awọn gbolohun ni eto AWK bi o nilo translation to ede abinibi abinibi. Iru awọn gbolohun wọnyi ni a samisi ni eto AWK pẹlu asiwaju underscore (`` _ ''). Fun apere,

gawk 'BEGIN {titẹ sita, aye "}'

nigbagbogbo gbejade alaafia, aye . Ṣugbọn,

gawk 'BEGIN {titẹjade _ "alaafia, aye"}'

le tẹ sita bonjour, aye ni France.

Ọpọlọpọ awọn igbesẹ ti wa ninu ṣiṣe ati ṣiṣe eto eto AWK kan ti a le yan.

1.

Fi iṣẹ BEGIN kan ṣe lati fi iye kan si iyipada TEXTDOMAIN lati ṣeto aaye-ọrọ si orukọ ti o ni nkan ṣe pẹlu eto rẹ.


BEGIN {TEXTDOMAIN = "myprog"}

Eyi n gba aaye gawk lati wa faili ti .mo ti o ni nkan ṣe pẹlu eto rẹ. Laisi igbesẹ yii, gawk nlo aaye-ọrọ ifiranṣẹ , eyi ti o le ṣe awọn itumọ fun eto rẹ.

2.

Ṣe akiyesi gbogbo awọn gbolohun ti o yẹ ki o ṣe itumọ pẹlu ṣiwaju awọn idaniloju.

3.

Ti o ba jẹ dandan, lo awọn ọrọ dcgettext () ati / tabi bindtextdomain () ninu eto rẹ, bi o ti yẹ.

4.

Run gawk --gen-po -f myprog.awk> myprog.po lati ṣe faili faili .po fun eto rẹ.

5.

Pese awọn itumọ ti o yẹ, ki o si kọ ati fi faili ti o baamu .mo to .

Awọn ẹya ibaraẹnisọrọ ti wa ni apejuwe ni kikun ni GAWK: Eto Amẹrika AWK .

Posix ibamu

Ipilẹ akọkọ fun gawk jẹ ibamu pẹlu ipo POSIX, bakanna pẹlu pẹlu titun ti UNIX awk . Ni opin yii, gawk kun awọn ẹya ara ẹrọ ti o lo wa ti a ko ṣe apejuwe ninu iwe AWK, ṣugbọn ti o jẹ apakan ti awọn Laboratories Bell laabu ti awk , ati pe o wa ni ipo POSIX.

Iwe naa ṣe afihan pe iṣẹ iyasọtọ ila laini lẹsẹsẹ ṣẹlẹ nigba ti awk yoo bibẹkọ ti ṣi ariyanjiyan naa bi faili kan, ti o jẹ lẹhin ti a ti pa ijẹmọ BEGIN . Sibẹsibẹ, ni awọn imuse ti o wa ni iṣaaju, nigbati iru iṣẹ bẹ ba farahan ṣaaju awọn orukọ faili, iṣẹ naa yoo ṣẹlẹ ṣaaju ki a to ṣiṣe BEGIN . Awọn ohun elo wa lati dale lori "ẹya-ara" yii. Nigba ti a ba yipada awk lati ba awọn iwe-akọọlẹ rẹ ṣiṣẹ, aṣayan -v fun fifun awọn oniyipada ṣaaju fifi ipaniyan eto ṣe afikun si awọn ohun elo ti o da lori iwa atijọ. (Ẹya ara ẹrọ yii ni awọn Belbo Laboratories Bell ati awọn Difelopa GNU gba silẹ.)

Aṣayan -W fun awọn ẹya-ara pato ti a ṣe ni lati inu ọkọ POSIX.

Nigbati o ba ṣiṣẹ awọn ariyanjiyan, gawk nlo aṣayan pataki '`-' 'lati fi opin si opin awọn ariyanjiyan. Ni ipo ibamu, o kilo nipa ṣugbọn bibẹkọ ti kọ awọn aṣayan ailopin. Ni isẹ deede, iru ariyanjiyan ti wa ni lọ si eto AWK fun o lati ṣe itọsọna.

Iwe AWK ko ṣe apejuwe iye ti iye pada ti srand () . Pọọsi POSIX ni o ni awọn irugbin ti o nlo, lati jẹ ki fifi abalaye awọn abala nọmba nọmba. Nitorina srand () ni gawk tun pada irugbin rẹ lọwọlọwọ.

Awọn ẹya tuntun miiran ni: Awọn lilo awọn nọmba -f pupọ (lati MKS awk ); atẹgun ENVIRON ; awọn \ a , ati \ v abayo awọn abajade (ṣe ni akọkọ ni gawk ati ki o tun pada sinu awọn Laboratories Bell Bell); awọn iṣẹ isunra () ati awọn iṣẹ- ṣiṣe () awọn iṣẹ-ṣiṣe ti a ṣe sinu (lati inu awọn Laboratories Bell Laabu); ati iyipada iyipada ANSI C ni titẹwe (ṣe akọkọ ninu awọn igbimọ Laboratories Bell).

Awọn ẹya ara ẹrọ Itan

Awọn ẹya meji ti awọn iṣẹ-ṣiṣe AWK ti itan ti gawk ṣe atilẹyin. Ni akọkọ, o ṣee ṣe lati pe gigun () iṣẹ-itumọ ti kii ṣe pẹlu laisi ariyanjiyan, ṣugbọn koda laisi awọn ami! Bayi,

a = ipari # Holy Algol 60, Batman!

jẹ kanna bii boya ti

a = ipari ()
a = ipari ($ 0)

Ẹya yii ti samisi bi '`deprecated' 'ni POSIX boṣewa, ati pe gawk ṣe ikilọ nipa lilo rẹ ti o ba jẹ - a ti ni pato lori laini aṣẹ.

Ẹya miiran jẹ lilo boya boya tẹsiwaju tabi awọn ọrọ fifọ ni ita ita ti igba diẹ , fun , tabi ṣe iṣuṣi. Awọn imudaṣe AWK igba atijọ ti ṣe itọju iru lilo bi deede si gbólóhùn tókàn . Gawk ṣe atilẹyin fun lilo yii ti o ba jẹ pe - a ti sọ pato ti aṣa.

Awọn amugbooro GNU

Gawk ni ọpọlọpọ awọn amugbooro si POSIX awk . Wọn ti ṣe apejuwe wọn ni apakan yii. Gbogbo awọn amugbooro ti a sọ kalẹ nibi le jẹ alaabo nipa titẹ gawk pẹlu aṣayan --traditional .

Awọn ẹya wọnyi ti gawk ko wa ni POSIX awk .

*

Ko si ọna-àwárí ti o ṣe fun awọn faili ti a npè ni nipasẹ aṣayan -f . Nitorina naa agbegbe AWKPATH ko ni pataki.

*

Aṣayan \ x igbasilẹ naa. (Alaabo pẹlu --posix .)

*

Iṣẹ iṣẹ ffh () . (Alaabo pẹlu --posix .)

*

Agbara lati tẹsiwaju awọn ila lẹhin ? ati :. (Alaabo pẹlu --posix .)

*

Awọn idiwọn Octal ati hexadecimal ni awọn eto AWK.

*

Awọn ọna ARGIND , BINMODE , ERRNO , LINT , RT ati TEXTDOMAIN ko ṣe pataki.

*

Iyipada IGNORECASE ati awọn ipa-ipa rẹ ko si.

*

Iyipada FIELDWIDTHS ati aaye ti o wa titi-pipin pinpin.

*

Agbara PROCINFO ko wa.

*

Lilo RS gẹgẹbi ikosile deede.

*

Awọn orukọ faili pataki ti o wa fun I / O redirection ko mọ.

*

Awọn | & oniṣẹ fun ṣiṣẹda awọn ilana-àjọ.

*

Agbara lati pinpin awọn ohun kikọ kọọkan pẹlu lilo okun asan bi iye ti FS , ati bi ariyanjiyan kẹta lati pin () .

*

Agbara keji ti o yan si iṣẹ- sunmọ () .

*

Iyatọ kẹta ti o yan si iṣẹ- ṣiṣe () .

*

Agbara lati lo awọn apejuwe ipo pẹlu tẹjade ati Sprintf () .

*

Lilo lilo ipasẹ rẹ lati pa gbogbo awọn akoonu inu ti ohun kikọ.

*

Lilo awọn folda ti o tẹle lati kọ silẹ processing ti faili titẹ sii lọwọlọwọ.

*

Awọn (ati) () , asl () , dictionary () , peopleub () , lshift () , mktime () , tabi () , rshift () , strftime () , strtonum () , system () ati awọn iṣẹ xor () .

*

Awọn gbolohun ipamọ.

*

Nfi awọn iṣẹ-ṣiṣe titun titun ṣe pẹlu agbara pẹlu iṣẹ itọnisọna () .

Iwe AWK ko ṣe apejuwe iye ti iye pada ti iṣẹ- sunmọ () . Gawk 's close () pada iye lati fclose (3), tabi pclose (3), nigbati o ba pa faili ti o nṣiṣẹ tabi paipu, lẹsẹsẹ. O tun pada ipo ti njade ti ilana naa nigba ti o ba ti pa fifọ titẹ. Iyipada iyeye jẹ -1 ti o ba jẹ pe faili ti a darukọ, pipe tabi igbi-ṣisẹ ko ṣii pẹlu redirection.

Nigba ti a ba fi awokii gawk pẹlu aṣayan -wọtọ , ti ariyanjiyan fs si aṣayan -F ni '`t' ', lẹhinna FS ti ṣeto si akọsilẹ taabu. Akiyesi pe titẹ gawk -F \ t ... nfa ki ikarahun naa sọ pe '`t,' ', ati pe ko kọja'` \ '' si aṣayan -F . Niwon eyi jẹ apọn pataki pataki kan, kii ṣe iwa aiyipada. Iwa yii ko tun waye bi --posix ti pàtó. Lati gba ohun kikọ silẹ gangan gẹgẹbi olutọju aaye, o dara julọ lati lo awọn fifawo nikan: gawk -F '\ t' ....

Wo awọn ilana miiran : duro , lp , pari , execv , getfacl , ioctl , uniq , rmmod , pvcreate , rsh , unix2dos , cal , fs , cd , iwpriv , swapon , autofs , talk , motd , free , lpr , execl , fdisk , ni , ti o , iwenfig , ifconfig , vgdisplay , ṣii , lsmod , ntohs , mailq , pa , wtmp