Uzziniet Linux komandu - gawk

Nosaukums

gawk - modeļa skenēšanas un apstrādes valoda

Kopsavilkums

gawk [POSIX vai GNU stila opcijas] -f programmas faila [ - ] fails ...
gawk [POSIX vai GNU stila opcijas] [ - ] programma-teksta fails ...

pgawk [POSIX vai GNU stila opcijas] -f programmas faila [ - ] fails ...
pgawk [POSIX vai GNU stila opcijas] [ - ] programma-teksta fails ...

Apraksts

Gawk ir GNU projekta AWK programmēšanas valodas ieviešana. Tas atbilst valodas definīcijai POSIX 1003.2 Command Language un Utilities Standard versijā. Savukārt šī versija ir balstīta uz aprakstu AWK programmēšanas valodā Aho, Kernighan un Weinberger ar papildus funkcijām, kas atrodamas UNIX awk sistēmas V atbrīvošanas versijā. Gawk piedāvā arī jaunākos Bell Laboratories awk paplašinājumus un vairākus GNU specifiskos paplašinājumus.

Pgawk ir gawk profilēšanas versija. Tas viss ir vienāds ar gawk , izņemot to, ka programmas darbojas lēnāk un automātiski izveido izpildes profilu failā awkprof.out, kad tas ir izdarīts. Skatiet tālāk aprakstīto --profilu opciju.

Komandrinda sastāv no iespējām pašam gawk , AWK programmas teksta (ja tas nav norādīts, izmantojot -f vai -file opcijas), un vērtības, kas pieejamas ARGC un ARGV iepriekš definētajos AWK mainīgos.

Opcijas formāts

Gawk opcijas var būt vai nu tradicionālās POSIX vienas burtu opcijas, vai arī GNU stila gari risinājumi. POSIX opcijas sākas ar vienu `` - '', bet garās opcijas sākas ar `` - ''. Gari varianti ir paredzēti gan GNU raksturīgajām funkcijām, gan POSIX pilnvarotajām funkcijām.

Pēc POSIX standarta, opciju gawk- specific tiek piegādāti, izmantojot argumentus -W opcijai. Iespējams piegādāt Multiple- W opcijas Katrai -W opcijai ir atbilstoša garā iespēja, kā aprakstīts tālāk. Argumenti par garām opcijām ir vai nu apvienotas ar opciju, izmantojot = zīmi, neietekmējot atstarpes, vai arī tos var sniegt nākamajā komandrindas argumentā. Garās iespējas var tikt saīsinātas, ja saīsinājums joprojām ir unikāls.

Iespējas

Gawk pieņem šādas opcijas, kas uzskaitītas alfabētiskā secībā.

-f fs

--field-separator fs Izmantojiet fs ievades lauku atdalītājam ( FS iepriekš definētā mainīgā vērtība).

-v var = val

- piešķirt var = val Piešķirt vērtību val pret mainīgo var pirms programmas izpildes sākuma. Šādas mainīgas vērtības ir pieejamas AWK programmas BEGIN blokam.

-f programmas failu

--file program-file Izlasiet AWK programmas avotu no faila programmas faila , nevis no pirmā komandrindas argumenta. Var izmantot vairākas -f (vai --file ) opcijas.

-mf NNN

-mr NNN Iestatiet dažādus NNN vērtības atmiņas ierobežojumus. F fails nosaka maksimālo lauku skaitu, un r karodziņš nosaka maksimālo ieraksta lielumu. Šie divi karodziņi un -m variants ir no UNIX awk pētījumu versijas Bell Laboratories. Gawk tos ignorē, jo gawk nav iepriekš noteiktu ierobežojumu.

-W kompat

-W tradicionāli

- compat

- tradicionāla Run in saderības režīmā. Saderības režīmā gawk uzvedas identiski UNIX awk ; neviens no GNU specifiskajiem paplašinājumiem nav atpazīts. Tradicionālā lietošana ir priekšroka salīdzinājumā ar citām šīs opcijas formām. Papildinformāciju skatiet sadaļā GNU EXTENSIONS .

-Kopilefts

-W autortiesības

--copyleft

- autortiesības. Drukājiet GNU autortiesību informācijas ziņojuma īsu versiju standarta izvadā un veiksmīgi izejiet.

-W dump-mainīgie [ = file ]

--dump-variables [ = file ] Drukāt sadalīto globālo mainīgo sarakstu, to veidus un galīgās vērtības failā . Ja nav faila , gawk pašreizējā direktorijā izmanto failu awkvars.out .

Visu globālo mainīgo saraksts ir labs veids, kā meklēt drukāšanas kļūdas jūsu programmās. Jūs arī izmantotu šo opciju, ja jums ir liela programma, kurā ir daudz funkciju, un vēlaties būt pārliecināti, ka jūsu funkcijas netīši neizmanto globālos mainīgos, kas domāti vietējiem. (Tas ir īpaši viegli kļūdīties veikt ar vienkāršiem mainīgo nosaukumiem, piemēram, i , j un tā tālāk.)

-W palīdzi

-W lietošana

--palīdzība

--usage Izdrukājiet salīdzinoši īsu kopsavilkumu par pieejamajām opcijām standarta izvadā . (Saskaņā ar GNU kodēšanas standartiem šīs opcijas rada tūlītēju un sekmīgu izeju.)

-W lint [ = letāla ]

--lint [ = fatāla ] Sniedz brīdinājumus par konstrukcijām, kas ir apšaubāmas vai nav pārnēsājamas citiemAWK implementācijām. Ar neobligātu argumentu par nāvējošu , viltoti brīdinājumi kļūst letālu kļūdas. Tas var būt krasi, bet tā izmantošana noteikti veicinās tīrāku AWK programmu izstrādi.

-Viņš ir vecs

--lint-old Nodrošina brīdinājumus par konstrukcijām, kas nav pārnēsājamas ar sākotnējo Unix awk versiju.

-W gen-po

--gen-po. Pārbaudiet un analizējiet AWK programmu un izveidojiet GNU .po formāta failu standarta izvadā ar ierakstiem par visām lokizējamām virknēm programmā. Programma pati par sevi nav izpildīta. Plašāku informāciju par .po failiem skatiet GNU gettext izplatīšanā.

-W bez decimāldaļu datiem

- bez decimāldaļas Atpazīt astoņkājus un heksadecimālās vērtības ievades datiem. Izmantojiet šo opciju ar lielu piesardzību!

-W posix

--posix Tas ieslēdz saderības režīmu ar šādiem papildu ierobežojumiem:

*

\ x Escape secības netiek atpazītas.

*

Tikai vieta un cilne darbojas kā lauku atdalītāji, ja FS ir iestatīts uz vienu atstarpi, jauna līnija nav.

*

Jūs nevarat turpināt līnijas pēc ? un :

*

Atslēgvārda funkcijas sinonīms nav atpazīts.

*

Operatorus ** un ** = nevar izmantot vietā ^ un ^ = .

*

Fflush () funkcija nav pieejama.

-W profils [ = prof_file ]

--profile [ = prof_file ] Sūtīt profilēšanas datus uz prof_file . Noklusējums ir awkprof.out . Lietojot gawk , profils ir tikai `` diezgan izdrukāta '' programmas versija. Lietojot ar pgawk , profils satur katra programmas paziņojuma izpildes skaitu kreisajā malā un funkciju zvanu skaitu katrai lietotāja definētai funkcijai.

-W atkārtots intervāls

--re-intervāls Iespējo intervāla izteiksmju izmantošanu regulāro izteiksmju saskaņošanā (sk. " Parastās izteiksmes " zemāk). Intervāla izteiksmes tradicionāli nav pieejamas AWK valodā. POSIX standarts pievienoja tos, lai awk un egrep atbilstu viens otram. Tomēr to izmantošana, visticamāk, sabojās vecās AWK programmas, tāpēc gawk tos nodrošina tikai tad, ja tie tiek pieprasīti ar šo opciju, vai kad --posix ir norādīts.

-W avota programmas teksts

--source programma-text Izmantojiet programmas tekstu kā AWK programmas pirmkodu. Šī opcija ļauj viegli sasaistīt bibliotēkas funkcijas (ko izmanto ar -f un -file opcijām) ar koda rindiņu ievadītu avota kodu. Tas ir paredzēts galvenokārt vidēja vai liela AWK programmām, ko izmanto čaulas skriptus.

-W versija

--version Drukāšanas versijas informācija par šo konkrēto gawk kopiju par standarta izvadi. Tas ir noderīgi galvenokārt tāpēc, ka ir zināms, vai pašreizējā sistēmas gawk kopija ir aktuāla, neatkarīgi no tā, kā to izplata Free Software Foundation. Tas ir noderīgi, ziņojot par kļūdām. (Saskaņā ar GNU kodēšanas standartiem šīs opcijas rada tūlītēju un sekmīgu izeju.)

- Signālu izvēles beigas. Tas ir noderīgi, lai atļautu turpmākus argumentus AWK programmai, lai sāktu ar `` - ''. Tas galvenokārt ir konsekvence ar argumentācijas parsēšanas konvenciju, ko izmanto lielākajā daļā citu POSIX programmu.

Saderības režīmā visas citas opcijas tiek atzīmētas kā nederīgas, bet citādi tiek ignorētas. Parastās darbības laikā, kamēr programmas teksts ir piegādāts, nezināmas opcijas tiek pārsūtītas uz AWK programmu ARGV masīvā apstrādei. Tas ir īpaši noderīgi, lai palaistu AWK programmas ar izpildāmā tulkotāja `` #! '' Mehānismu.

AWK PROGRAMMAS IZPILDE

AWK programma sastāv no secību par modeļa darbības paziņojumiem un izvēles funkciju definīcijām.

modelis { darbības paziņojumi }

funkcijas nosaukums ( parametru saraksts ) { paziņojumi }

Gawk vispirms nolasa programmas avotu no programmas faila (-iem), ja tas ir norādīts, no argumentiem uz --source vai no pirmā ne-opcijas argumenta komandrindā. Komandrindā var izmantot vairākas reizes -f un -source opcijas. Gawk nolasa programmas tekstu tā, it kā visas programmas faila s un komandrindas avota teksti būtu apvienoti kopā. Tas ir noderīgs, lai izveidotu AWK funkciju bibliotēkas, neiekļaujot tos katrā jaunā AWK programmā, kas tos izmanto. Tas arī nodrošina iespēju apvienot bibliotēkas funkcijas ar komandrindas programmām.

Vides mainīgais AWKPATH norāda meklējamo ceļu, kuru izmanto, meklējot avota failus ar nosaukumu -f opciju. Ja šis mainīgais neeksistē, noklusējuma ceļš ir ".: / Usr / local / share / awk" . (Faktiskais direktorijs var atšķirties atkarībā no tā, kā gawk tika uzcelta un instalēta.) Ja faila nosaukums, kas piešķirts -f opcijai, satur rakstzīmi `/ / ', ceļa meklēšana netiek veikta.

Gawk izpilda AWK programmas šādā secībā. Pirmkārt, tiek veikti visi mainīgā uzdevumi, kas norādīti, izmantojot -v opciju. Tālāk gawk kompilē programmu iekšējā formā. Tad gawk izpilda kodu BEGIN blokā (-os) (ja tāds ir), un pēc tam turpina lasīt katru ARGV masīvā nosaukto failu. Ja komandrindā nav failu, gawk nolasa standarta ievadi.

Ja komandrindas faila nosaukums ir forma var = val, tas tiek uzskatīts par mainīgo piešķiršanu. Mainīgajam var piešķir vērtību val . (Tas notiek pēc jebkura BEGIN bloka (-u) palaišanas). Komandrindas mainīgā piešķiršana ir visnoderīgākā, lai dinamiski piešķirtu vērtības mainīgajiem lielumiem, kurus AWK izmanto, lai kontrolētu, kā ievade tiek sadalīta laukos un ierakstos. Tas ir arī noderīgs, lai kontrolētu stāvokli, ja vienā datu failā ir nepieciešamas vairākas caurlaides.

Ja kāda konkrēta ARGV elementa vērtība ir tukša ( "" ), gawk izlaiž to.

Par katru ievades ierakstu gawk testus, lai pārliecinātos, vai tas atbilst jebkuram modelim AWK programmā. Katram modelim, par kuru ieraksts atbilst, saistītā darbība tiek izpildīta. Modeļus testē tādā secībā, kādā tie notiek programmā.

Visbeidzot, pēc tam, kad viss ieguldījums ir izsmelts, gawk izpilda kodu END blokā (-os) (ja tāds ir).

Mainīgie, ieraksti un lauki

AWK mainīgie ir dinamiski; tie sākas, kad tos pirmo reizi izmanto. Viņu vērtības ir vai nu peldošā komata skaitļi vai virknes, vai abi, atkarībā no tā, kā tie tiek izmantoti. AWK ir arī vienas dimensijas masīvi; Var tikt simulēti masīvi ar vairākiem izmēriem. Vairāki iepriekš definēti mainīgie tiek iestatīti kā programmas palaišana; tie tiks aprakstīti kā vajadzīgi un apkopoti turpmāk.

Ieraksti

Parasti ieraksti tiek atdalīti ar jaunām rakstzīmēm. Jūs varat kontrolēt, kā ieraksti atdala, piešķirot vērtībām iebūvēto mainīgo RS . Ja RS ir viens raksturs, šis raksturs atdala ierakstus. Pretējā gadījumā RS ir regulāra izteiksme. Teksts ievadei, kas atbilst šai regulārajai izteiksmei, atdala ierakstu. Tomēr saderības režīmā ierakstu atdalīšanai izmanto tikai tās virknes vērtības pirmo rakstzīmi. Ja RS ir iestatīts uz nulles virkni, ieraksti tiek atdalīti ar tukšām rindām. Kad RS ir iestatīts uz nulles virkni, jaunais simbols vienmēr darbojas kā lauku atdalītājs papildus jebkurai vērtībai, kuru FS var būt.

Lauki

Pēc katra ievades ieraksta lasīšanas gawk sadala ierakstu laukos , izmantojot lauka atdalītāju FS mainīgā vērtību. Ja FS ir viens raksturs, lauki tiek atdalīti ar šo rakstzīmi. Ja FS ir nulles virkne, katrs atsevišķais raksturs kļūst par atsevišķu lauku. Pretējā gadījumā FS ir pilnībā regulāra izteiksme. Īpašā gadījumā, ja FS ir viena telpa, laukus atdala atstarpes un / vai cilnes un / vai jaunās līnijas. (Bet apskatiet --posix aprakstu , zemāk). PIEZĪME . IGNORECASE vērtība (sk. Tālāk) ietekmē arī lauku sadalījumu, kad FS ir regulāra izteiksme un kā ieraksti tiek atdalīti, kad RS ir regulāra izteiksme.

Ja FIELDWIDTHS mainīgais ir iestatīts kā atstarpes ciparu saraksts, katram laukam ir fiksēts platums, un gawk sadalīs ierakstu, izmantojot norādītos platumus. FS vērtība tiek ignorēta. FS piešķirta jauna vērtība atceļ FIELDWIDTHS izmantošanu un atjauno noklusējuma darbību.

Katram ievades ieraksta laukam var atsaukties pēc tā pozīcijas, $ 1 , $ 2 un tā tālāk. 0 $ ir viss ieraksts. Konstantes nedrīkst atsaukties uz laukiem:

n = 5
izdrukāt $ n

izdrukā ieejas ieraksta piekto lauku.

Mainīgais NF ir iestatīts uz kopējo ievades ieraksta lauku skaitu.

Atsauces uz neeksistējošiem laukiem (ti, pēc $ NF laukiem) rada nulles virkni. Tomēr piešķiršana neeksistējošam laukam (piem., $ (NF + 2) = 5 ) palielina NF vērtību, izveido visus ievadītos laukus ar nulles virkni kā to vērtību un rada summu 0 $ , kas jāpārrēķina ar lauki tiek atdalīti ar OFS vērtību. Atsauces uz negatīviem numurētiem laukiem rada fatālu kļūdu. Decrementing NF liek lauku vērtībām pagātnes jauno vērtību pazaudēt un vērtību 0 $ , kas jāpārrēķina, ja lauki tiek atdalīti ar OFS vērtību.

Piešķirot vērtībai esošu lauku, viss ieraksts tiek pārbūvēts, kad atsaucas uz $ 0 . Tāpat, piešķirot vērtību $ 0, ieraksts tiek pārplānots, radot jaunas vērtības laukiem.

Iebūvētie mainīgie

Gawk iebūvētie mainīgie lielumi ir:

ARGC

Komandrindas argumentu skaits (neietver gawk vai programmas avota opcijas).

ARGIND

Pašreizējā faila apstrādes indekss ARGV .

ARGV

Komandrindas argumentu masīvs. Masīvs tiek indeksēts no 0 līdz ARGC -1. Dinamiski mainot ARGV saturu, var kontrolēt datus, ko izmanto datiem.

BINMODE

Uz sistēmām, kas nav POSIX, precizē visu failu I / O režīmu `` binārā '' režīma lietošanu. Ciparu vērtības 1, 2 vai 3, norāda, ka attiecīgi ievades failiem, izvades failiem vai visiem failiem jāizmanto binārais I / O. "R" vai "w" rindas vērtības norāda, ka attiecīgi ievades failiem vai izvades failiem jāizmanto binārais I / O. String vērtības "rw" vai "wr" norāda, ka visiem failiem jāizmanto binārais I / O. Jebkura cita virknes vērtība tiek uzskatīta par "rw" , bet tiek ģenerēta brīdinājuma ziņa.

CONVFMT

Ciparu konversijas formāts, "% .6g" pēc noklusējuma.

ENVIRON

Masīvs, kurā ir esošās vides vērtības. Masīvu indeksē vides mainīgie, katrs elements ir šī mainīgā vērtība (piemēram, ENVIRON ["HOME"] varētu būt / home / arnold ). Mainot šo masīvu neietekmē vidi, ko uztver programmas, kuras gawk nārsto, izmantojot novirzīšanu vai sistēmas () funkciju.

ERRNO

Ja rodas sistēmas kļūda vai nu veicot novirzīšanu uz getline , readline for getline vai tuvu () laikā , tad ERRNO būs virkne, kas apraksta kļūdu. Vērtība ir atkarīga no tulkojuma vietnēs, kas nav angļu valodas.

FIELDWIDTHS

Laukuma platumu saraksts, kas ir atdalīts ar baltu laukumu. Ja iestatīts, gawk parsē ievadi fiksēta platuma laukos, nevis izmanto FS mainīgā vērtību kā lauka atdalītāju.

FAILA NOSAUKUMS

Pašreizējā ievades faila nosaukums. Ja komandrindā nav norādīti faili, FILENAME vērtība ir `` - ''. Tomēr FILENAME nav definēts BEGIN bloka iekšpusē (ja vien nav iestatīts getline ).

FNR

Ievades ieraksta numurs pašreizējā ievades failā.

FS

Ievade lauku atdalītājs, pēc noklusējuma atstarpe. Skatīt laukus iepriekš.

IGNORECASE

Kontrolē visu regulāro izteiksmju un virkņu darbību jutību. Ja IGNORECASE vērtība ir nulles vērtība, tad virkņu salīdzinājumi un modeļu saskaņošana noteikumos, lauka sadalīšana ar FS , ieraksts, kas atdala ar RS , regulāra izteiksme, kas atbilst ~ un ! ~ Un gensub () , gsub () , index () , match () , split () un sub () iebūvētās funkcijas ignorē gadījumu, veicot regulāras izteiksmes operācijas. PIEZĪME. Array subscripting neietekmē, kā arī nav asort () funkcija.

Tādējādi, ja IGNORECASE nav vienāds ar nulli, / aB / atbilst visām stīgām ab , aB , ab un. Tāpat kā ar visiem AWK mainīgajiem, sākotnējā vērtība IGNORECASE ir nulle, tādēļ visas regulāro izteiksmju un virkņu operācijas parasti ir reģistrjutīgi. Saskaņā ar Unix, ignorējot lietu, tiek izmantots pilns ISO 8859-1 latīņu-1 rakstzīmju kopums.

LINT

Nodrošina dinamisku izvēli --lint no AWK programmas. Kad tas ir taisnība, gawk izdrukā melno brīdinājumu. Ja tas ir nepatiess, tas nav. Ja līnijas vērtība tiek piešķirta "letāla" , vilnas brīdinājumi kļūst par letālu kļūdām, tieši tāpat kā - lint = letāla . Jebkāda cita patiesā vērtība vienkārši izdrukā brīdinājumus.

NF

Pašreizējā ievades ieraksta lauku skaits.

NR

Līdz šim redzamais ieejas ierakstu kopējais skaits.

OFMT

Numura izvades formāts, "% .6g" pēc noklusējuma.

OFS

Izvades lauku atdalītājs, pēc noklusējuma atstarpe.

ORS

Izvades ierakstu atdalītājs pēc noklusējuma ir jauna līnija.

PROCINFO

Šī masīva elementi nodrošina piekļuvi informācijai par palaišanas AWK programmu. Dažās sistēmās masīvā var būt elementi, "group1", izmantojot "group n " dažiem n , kas ir papildu grupu skaits, kas ir procesā. Izmantojiet operatoru, lai pārbaudītu šos elementus. Ir nodrošināti šādi elementi:

PROCINFO ["egid"]

getegid (2) sistēmas zvana vērtība.

PROCINFO ["euid"]

geteuid (2) sistēmas zvana vērtība.

PROCINFO ["FS"]

"FS", ja lauka sadalīšana ar FS ir spēkā, vai "FIELDWIDTHS", ja lauks ir sadalīts ar FIELDWIDTHS .

PROCINFO ["gid"]

getgid (2) sistēmas zvana vērtība.

PROCINFO ["pgrpid"]

pašreizējā procesa procesa grupas ID.

PROCINFO ["pid"]

pašreizējā procesa procesa ID.

PROCINFO ["ppid"]

pašreizējā procesa vecāku procesa ID.

PROCINFO ["uid"]

getuid (2) sistēmas zvana vērtība.

RS

Ievades ierakstu atdalītājs pēc noklusējuma ir jauna līnija.

RT

Ieraksta terminators. Gawk iestata RT uz ievades tekstu, kas atbilst rakstzīmei vai regulārajai izteiksmei, ko norādījusi RS .

RSTART

Pirmā rakstzīme, kas atbilst spēlei () ; 0 ja nav spēles. (Tas nozīmē, ka rakstzīmju rādītāji sākas vienā.)

RLENGTH

Jostas garums, kas sakrīt ar spēli () ; -1 ja nav spēles.

PIETEIKTIES

Rakstzīme, ko izmanto, lai atdalītu vairākus apzīmējumus masīva elementi, pēc noklusējuma "\ 034" .

TEXTDOMAIN

AWK programmas teksta apgabals; izmantots, lai atrastu programmas virkņu lokalizētus tulkojumus.

Masīvi

Masīvi ir apzīmēti ar kvadrātiekavās ( [ un ] ). Ja izteiksme ir izteiksmju saraksts ( expr , expr ...), tad masīva apakšraksts ir virkne, kas sastāv no katra izteiksmes (virknes) konektācijas , atdalīta ar SUBSEP mainīgā vērtību. Šo iespēju izmanto, lai simulētu daudzkārtēji izmēru masīvus. Piemēram:

i = "A"; j = "B"; k = "C"
x [i, j, k] = "sveiki, pasaule \ n"

piešķir virkni "hello, world \ n" masīva x elementam, kuru indeksē virkne "A \ 034B \ 034C" . Visi AWK masīvi ir asociatīvi, ti, indeksēti pēc virknes vērtībām.

Īpašo operatoru var izmantot paziņojumā if vai time, lai redzētu, vai masīvam ir indekss, kas sastāv no konkrētas vērtības.

ja (val masīvā) drukāšanas masīvs [val]

Ja masīvam ir vairāki apakškategorijas, izmantojiet (i, j) masīvā .

Konstruktā var izmantot arī cilpa, lai atkārtotu visus elementus masīvā.

Elementu var izdzēst no masīva, izmantojot dzēšanas paziņojumu. Izdzēšanas paziņojumu var izmantot arī, lai izdzēstu visu masīva saturu, vienkārši norādot masīva nosaukumu bez apakšindeksa.

Mainīgs rakstīšanas un reklāmguvums

Mainīgie lielumi un lauki var būt (peldošā komata) numuri, vai virknes, vai abi. Kā mainīgā lieluma vērtība tiek interpretēta atkarībā no tā konteksta. Ja to izmanto skaitliskā izteiksmē, tas tiks uzskatīts par skaitli, ja to izmantos kā virkni, tas tiks uzskatīts par virkni.

Lai piespiestu mainīgo kļūt par skaitli, pievienojiet 0; lai piespiestu to uzskatīt par virkni, sajaukt to ar nulles virkni.

Ja virkne jāpārvērš par skaitli, pārveidošana tiek veikta, izmantojot strtod (3). Numurs tiek pārveidots par virkni, izmantojot CONVFMT vērtību kā sprintf formāta virkni (3), ar mainīgā skaitlisko vērtību kā argumentu. Tomēr, pat ja visi AWK skaitļi ir peldošā komata, integrālas vērtības vienmēr tiek pārvērstas par veseliem skaitļiem. Tādējādi dots

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

mainīgais b ir virknes vērtība "12", nevis "12.00" .

Gawk veic salīdzinājumus šādi: ja divi mainīgie ir ciparu skaitļi, tos salīdzina skaitliski. Ja viena vērtība ir ciparu un otrai ir virknes vērtība, kas ir `` ciparu virkne '', tad salīdzinājumi tiek veikti arī skaitliski. Pretējā gadījumā skaitliskā vērtība tiek pārveidota par virkni un tiek veikta virknes salīdzināšana. Protams, divas virknes tiek salīdzinātas ar stīgām. Ņemiet vērā, ka POSIX standarts visur lieto jēdzienu "skaitliskā virkne", arī uz virknes konstantēm. Tomēr tas ir acīmredzami nepareizs, un gawk to nedara. (Par laimi tas ir noteikts nākamajā standarta versijā.)

Ņemiet vērā, ka virknes konstantes, piemēram, "57" , nav ciparu virknes, tās ir virknes konstantes. Ideja par "skaitlisko virkni" attiecas tikai uz laukiem, getline ievadi, FILENAME , ARGV elementiem, ENVIRON elementiem un masīvu elementiem, kas izveidoti ar split (), kas ir ciparu virknes. Pamatideja ir tāda, ka lietotājs ievadei un tikai lietotāja ievadam, kas izskatās skaitliski, ir jāapstrādā šādā veidā.

Neinitializētiem mainīgajiem ir ciparu vērtība 0 un virknes vērtība "" (nulles vai tukša, virkne).

Octaal un heksadecimālās konstantes

Sākot ar gawk versiju 3.1, AWK programmas avota kodā varat izmantot C-veida astoņkājus un heksadecimālās konstantes. Piemēram, oktāla vērtība 011 ir vienāda ar decimālo 9 , un heksadecimālā vērtība 0x11 ir vienāda ar decimālo 17.

Stīgu konstantes

AWK stīgu konstantes ir rakstzīmju secības, kas ir ietvertas starp divkāršiem pēdiņām ( " ). Stīgu ietvaros dažas atribūcijas tiek atpazītas, tāpat kā C. Tās ir:

\\

Burtiska slīpsvītra.

\ a

`` Brīdinājuma '' raksturs; parasti ASCII BEL raksturs.

\ b

backspace.

\ f

form-feed.

\ n

jauna līnija

\ r

rakstatgriezes.

\ t

horizontālā cilne.

\ v

vertikālā cilne.

\ x hex cipari

Simbolu, ko raksturo virkne no sešpadsmitdaļām cipariem pēc \ x . Tāpat kā ANSIC, visi sekojošie heksadecimālie cipari tiek uzskatīti par izejas secības daļu. (Šī funkcija mums ir jāpasaka kaut kas par komitejas izstrādāto valodas dizainu.) Piemēram, "\ x1B" ir ASCIIESC (aizbēgt) raksturs.

\ ddd

Raksturs, ko attēlo astoņu ciparu 1-, 2- vai 3 ciparu secība. Piemēram, "\ 033" ir ASCII ESC (aizbēgt) raksturs.

\ c

Burts raksturs c .

Escape secības var izmantot arī pastāvīgo regulāro izteiksmju vietā (piemēram, / [\ t \ f \ n \ r \ v] / atbilst atstarpes rakstzīmēm).

Saderības režīmā rakstzīmes, ko attēlo astotās un sešpadsmitdaļās aizvēršanas sekvences, tiek traktēti burtiski, kad tos izmanto regulāro izteiksmju konstantos. Tādējādi / a \ 52b / ir līdzvērtīgs / a \ * b / .

Modeļi un darbības

AWK ir uz līniju orientēta valoda. Vispirms ir modelis, un tad darbība. Paziņojumi par rīcību ir pievienoti { and } . Vai nu modelis var būt pazudis, vai arī rīcībai trūkst, bet, protams, ne abi. Ja modelis trūkst, darbība tiek izpildīta katrai ievades ierakstiem. Trūkstošā darbība ir līdzvērtīga

{drukāt}

kas izdrukā visu ierakstu.

Komentāri sākas ar `` # '' rakstzīmi un turpina līdz līnijas beigām. Atsevišķus paziņojumus var izmantot tukšās līnijas. Parasti paziņojums beidzas ar jaunu līniju, tomēr tas neattiecas uz līnijām, kas beidzas ar ``, '', { , ? , : , && , vai || . Rindas, kas beidzas ar darbu, vai arī viņu paziņojumi automātiski tiek turpināti nākamajā rindiņā. Citos gadījumos līniju var turpināt, beidzot to ar ", tādā gadījumā jaunā līnija tiks ignorēta.

Vairākus paziņojumus var ievietot vienā rindā, atdalot tos ar ``; ''. Tas attiecas gan uz apgalvojumiem modeļa darbības pāra darbības daļā (parastais gadījums), gan uz paša modeļa darbības paziņojumiem.

Modeļi

AWK modeļi var būt viens no šiem:

BEGIN END / regulārās izteiksmes / relācijas izteiksmes raksts & & raksts modelis || modeļa modelis ? modelis : modelis ( modelis ) ! raksta modelis1 , modelis2

BEGIN un END ir divi īpašu veidu modeļi, kas nav pārbaudīti pret ieeju. Visu BEGIN modeļu darbību daļas tiek apvienotas tā, it kā visi paziņojumi būtu uzrakstīti vienā BEGIN blokā. Tos izpilda pirms kāda no ievades tiek lasīta. Tāpat visi END bloki tiek apvienoti un tiek izpildīti, kad visas ievades ir izsmeltas (vai kad tiek izpildīts iziešanas paziņojums). BĒGIN un END raksti nevar apvienot ar citiem modeļu izteiksmes modeļiem. BEGIN un END raksti nevar būt trūkstošas ​​darbības daļas.

Attiecībā uz / regulārām izteiksmēm / modeļiem saistīto paziņojumu izpilda katram ievades ierakstam, kas atbilst regulārajai izteiksmei. Regulāras izteiksmes ir tādas pašas kā egrep (1), un tās ir apkopotas zemāk.

Relāciju izteiksme var izmantot kādu no operatoriem, kas definēti tālāk sadaļā darbību. Tie parasti pārbauda, ​​vai konkrētās lauki atbilst noteiktām regulārajām izteiksmēm.

&& , || , un ! operatori ir loģiski, loģiski VR un loģiski NOT, attiecīgi, kā C. Viņi veic īsslēguma novērtēšanu, tāpat kā C, un tiek izmantoti, lai apvienotu vairāk primitīvu modeļu izteicienus. Tāpat kā lielākajā daļā valodu, iekavās var izmantot vērtēšanas kārtības maiņu.

Operators ?: Ir tāds pats operators C. Ja pirmais modelis ir taisnība, pārbaudei izmantotais modelis ir otrais modelis, pretējā gadījumā tas ir trešais. Novērtēts tikai viens no otrā un trešā modeļiem.

Izteiksmes modelis1 , modelis2 tiek saukts par diapazona modeli . Tas atbilst visiem ievades ierakstiem, sākot ar ierakstu, kas atbilst modelim1 , un turpina, kamēr ieraksts atbilst modelim2 , ieskaitot. Tas nav savienojams ar cita veida izteiksmi.

Regulāras izteiksmes

Regulāras izteiksmes ir paplašinātā forma, kas atrodama egrep . Tie sastāv no šādām rakstzīmēm:

c

atbilst nemetaksarķim c .

\ c

atbilst burtiskajam simbolam c .

.

atbilst jebkuram simbolam, ieskaitot jaunu līniju.

^

atbilst virknes sākumam.

$

atbilst virknes beigām.

[ abc ... ]

rakstzīmju saraksts, atbilst jebkurai no rakstzīmēm abc ....

[^ abc ... ]

noraidīts rakstzīmju saraksts, atbilst jebkuram rakstzīmei, izņemot abc ....

r1 | r2

maiņa: atbilst r1 vai r2 .

r1r2

saknešana: atbilst r1 un pēc tam r2 .

r +

atbilst vienai vai vairākām r 's.

r *

atbilst nullei vai vairāk r 's.

r ?

sakrīt ar nulli vai vienu r 's.

( r )

grupēšana: spēles r .

r { n }

r { n ,}

r { n , m } Viens vai divi skaitļi iekšpusē sakabē norāda intervāla izteiksmi . Ja rādītājā ir viens skaitlis, iepriekšējā regulāro izteiksmi r atkārto n reizes. Ja ir divi skaitļi, kas atdalīti ar komatu, r tiek atkārtots no n līdz m reizēm. Ja ir viens numurs, kam seko komats, tad r tiek atkārtota vismaz n reizes.

Intervāla izteiksmes ir pieejamas tikai tad, ja komandrindā ir norādīts vai nu --pozīts vai --re intervāls .

\ y

atbilst tukšajai virknei vārda sākumā vai beigās.

\ B

atbilst vārdam tukšajai virknei.

\ <

atbilst tukšajai virknei vārda sākumā.

\>

atbilst vārda beigās tukšai virknei.

\ w

atbilst jebkuram vārdu sastāvošajam rakstzīmei (burts, cipars vai pasvītrojums).

\ W

atbilst jebkuram rakstzīmei, kas nav vārdu sastāvs.

\ `

sakrīt ar tukšu virkni bufera (virknes) sākumā.

\ '

atbilst bufera beigās tukšajai virknei.

Pārmaiņas secības, kas ir spēkā virknes konstantos (sk. Tālāk), ir derīgas arī regulārajās izteiksmēs.

Rakstzīmju klases ir jauna iezīme POSIX standarta ietvaros. Rakstzīmju klase ir īpašs apzīmējums rakstzīmju sarakstam, kuriem ir īpašs atribūts, bet faktiskās rakstzīmes var atšķirties atkarībā no valsts un / vai no rakstzīmju kopas uz rakstzīmju kopu. Piemēram, ASV un Francijā domājams, ka vārds ir alfabēta raksturs.

Rakstzīmju klase ir derīga tikai rakstzīmju saraksta iekavās regulārajā izteiksmē. Rakstzīmju klases sastāv no [: klasei atbilstoša atslēgvārda un :] . Zīmju kategorijas, kas definētas POSIX standarta ietvaros, ir šādas:

[: alnum:]

Burtciparu rakstzīmes.

[: alfa:]

Alfabētiskas rakstzīmes.

[: tukšs:]

Atstarpes vai cilnes rakstzīmes.

[: cntrl:]

Vadības rakstzīmes.

[: cipars:]

Ciparu rakstzīmes.

[: diagramma:]

Rakstzīmes, kas ir gan izdrukājamas, gan redzamas. (Tukšums ir izdrukājams, bet tas nav redzams, bet a ir abas.)

[: zemāka:]

Apakšējā burtu burtu zīmes.

[: izdrukāt:]

Printable rakstzīmes (rakstzīmes, kas nav kontroles rakstzīmes).

[: punct:]

Burtu zīmes (rakstzīmes, kas nav burts, cipari, vadības rakstzīmes vai atstarpes rakstzīmes).

[: vieta:]

Kosmosa rakstzīmes (piemēram, vieta, cilne un veidlapa, lai norādītu dažus).

[: augšējā:]

Augšējā burtu burtu zīmes.

[: xdigit:]

Rakstzīmes, kas ir sešpadsmitas cipari.

Piemēram, pirms POSIX standarta, lai atbilstu burtciparu rakstzīmēm, jums vajadzēja rakstīt / [A-Za-z0-9] / . Ja tavam rakstzīmju komplektam tajā bija citas burtu zīmes, tas neatbilst tiem, un, ja jūsu rakstzīmju kopums atšķiras no ASCII, tas var pat neatbilst ASCII burtu un ciparu burtiem. Izmantojot POSIX rakstzīmju klases, jūs varat rakstīt / [[: alnum:]] / , un tas atbilst rakstzīmju kopas alfabētiskajiem un ciparu simboliem.

Rakstzīmju sarakstos var parādīties divas papildu īpašas sekvences. Tie attiecas uz ne-ASCII rakstzīmju kopām, kurām var būt atsevišķi simboli (saukti par salīdzināšanas elementiem ), kurus attēlo vairāk nekā viens raksturs, kā arī vairākas rakstzīmes, kas ir līdzvērtīgas salīdzināšanai vai šķirošanai. (Piemēram, franču valodā plain `` e '' un gravīgs akcents e` ir ekvivalenti).

Simbolu sakārtošana

Salīdzinošais simbols ir vairāku rakstzīmju salidojuma elements, kas ietverts [. un .] . Piemēram, ja ch ir salīdzināšanas elements, tad [[.ch.]] Ir regulāra izteiksme, kas atbilst šim elementam, bet [ch] ir regulāra izteiksme, kas atbilst gan c, gan h .

Līdzvērtības klases

Ekvivalences klase ir lokālajam nosaukumam atbilstošs simbolu saraksts. Nosaukums ir pievienots [= and =] . Piemēram, vārdu e var izmantot, lai pārstāvētu visu `` e, `` `e ',' 'un` `e`.' 'Šajā gadījumā [[= e =]] ir regulāra izteiksme atbilst jebkuram e , e vai e` .

Šīs funkcijas ir ļoti vērtīgas vietnēs, kurās nav angļu valodas. Bibliotēka funkcionē, ​​ka gawk izmanto regulāro izteiksmju salīdzināšanai, pašlaik tikai atpazīst POSIX rakstzīmju kategorijas; viņi neatzīst salīdzināšanas simbolus vai līdzvērtības klases.

The \ y , \ B , \ < , \> , \ w , \ W , \ ` , and \ ' operatori ir raksturīgi gawk ; tie ir paplašinājumi, kas balstīti uz iekārtām GNU regulārās izteiksmes bibliotēkās.

Dažādas komandrindas opcijas kontrolē, kā gawk interpretē rakstzīmes regulāro izteiksmju veidā.

Nav iespēju

Noklusējuma gadījumā gawk nodrošina visas iespējas POSIX regulārajām izteiksmēm un iepriekš minētajiem GNU regulāro izteiksmju operatoriem. Tomēr intervāla izteiksmes netiek atbalstītas.

--posiks

Tikai POSIX regulāras izteiksmes tiek atbalstītas, GNU operatori nav īpašie. (Piemēram, \ w atbilst burtiskajam w ). Intervāla izteiksmes ir atļautas.

- tradicionāls

Tradicionālās Unix awk regulārās izteiksmes ir saskaņotas. GNU operētājsistēmas nav īpašas, intervāla izteiksmes nav pieejamas, un nav arī POSIX rakstzīmju kategorijas ( [[: alnum:]] un tā tālāk). Simboli, kurus apraksta oktālajā un heksadecimālajā evakuācijas secībā, tiek apstrādāti burtiski, pat ja tie pārstāv regulāro izteiksmju metasarmetus.

- intervāls

Atļaut intervālu izteiksmes regulārajās izteiksmēs, pat ja tiek piedāvāts - tradicionāls .

Darbības

Paziņojumi par rīcību ir ietverti breketēs, { un } . Rīcības paziņojumi sastāv no parastajiem uzdevumiem, nosacītajiem un looping paziņojumiem, kas atrodami vairumā valodu. Operatori, vadības ziņojumi un ievades / izvades paziņojumi ir pieejami rakstiski pēc tiem, kas norādīti C.

Operatori

AWK operatori, kas sakrīt ar prioritāti, ir

( ... )

Grupēšana

$

Lauka atsauce.

++ -

Pieaugums un samazinājums, gan prefikss, gan pēcfikss.

^

Exponentiation ( ** var arī tikt izmantots, un ** = piešķiršanas operatoram).

+ -!

Unarī plus, mierīgs mīnus un loģisks noliegums.

* /%

Reizināšana, sadalīšana un modulis.

+ -

Papildinājums un atņemšana.

telpa

Stīgu sakopošana.

<>

<=> =

! = == Regulāri relāciju operatori.

~! ~

Regulāra izteiksmes atbilstība, negatīva atbilstība. PIEZĪME: neizmantojiet pastāvīgu izteiksmi ( / foo / ) ~ vai ! ~ Kreisajā pusē. Izmantojiet tikai vienu labajā pusē. Izteiksmei / foo / ~ exp ir tāda pati nozīme kā (($ 0 ~ / foo /) ~ exp ) . Parasti tas parasti nav paredzēts.

in

Array membership.

&&

Loģiski un.

||

Loģiski OR.

?:

C nosacījuma izteiksme. Tas ir formā expr1 ? expr2 : expr3 . Ja expr1 ir taisnība, izteiksmes vērtība ir expr2 , citādi tas ir expr3 . Novērtēts tikai viens no expr2 un expr3 .

= + = - =

* = / =% = ^ = Piešķiršana. Tiek atbalstīts gan absolūtais uzdevums ( var = vērtība ), gan operatora piešķiršana (citas formas).

Kontroles paziņojumi

Kontroles paziņojumi ir šādi:

ja ( nosacījums ) paziņojums [ else statement ], kamēr ( nosacījums ) paziņojums izdara paziņojumu, bet ( nosacījums ) par ( expr1 ; expr2 ; expr3 ) paziņojumu par ( var in array ) paziņojumu pārtraukums turpināt dzēst masīvu [ index ] izdzēst masīva izeju [ izteiksme ] { paziņojumi }

I / O paziņojumi

Ievades / izvades paziņojumi ir šādi:

aizvērt ( fails [ , ] )

Aizveriet failu, cauruli vai kopīgi apstrādājiet. Neobligāts veids, to izmantot tikai, ja tiek noslēgts divu virzienu cauruļvadu viens gala kopprocess. Tam jābūt virknes vērtībai, vai nu "uz" vai "no" .

getline

Iestatiet $ 0 no nākamā ievades ieraksta; kas NF , NR , FNR .

getline < file

Iestatīt $ 0 no nākamās faila ieraksta; iestatīt NF .

getline var

Iestatiet var no nākamā ievades ieraksta; noteikt NR , FNR .

getline var < file

Iestatīt var no nākamā faila ieraksta.

komanda | getline [ var ]

Palaist komandu cauruļvadu izvadi vai nu $ 0 vai var , kā iepriekš.

komanda | & getline [ var ]

Palaist komandu kā kopprocesu cauruļvadu izvadi vai nu $ 0 vai var , kā iepriekš. Kopprocess ir gawk pagarinājums.

Nākamais

Pārtraukt pašreizējā ievades ieraksta apstrādi. Nākamais ievades ieraksts tiek lasīts un apstrāde sākas ar pirmo modeli AWK programmā. Ja tiek sasniegts ievades datu termiņš, tiek izpildīti END bloki (-i), ja tādi ir.

nextfile

Apturēt pašreizējā ievades faila apstrādi. Nākamais ievades ieraksts lasāms nākamajā ievades failā. FILENAME un ARGIND ir atjaunināti, FNR tiek atiestatīts uz 1 un apstrāde sākas ar pirmo modeli AWK programmā. Ja tiek sasniegts ievades datu termiņš, tiek izpildīti END bloki (-i), ja tādi ir.

izdrukāt

Drukā pašreizējo ierakstu. Izejas ieraksts tiek pārtraukts ar ORS mainīgā lielumu.

drukāt expr-sarakstu

Izdrukas izteiksmes. Katrs izteiciens tiek atdalīts ar OFS mainīgā vērtību. Izejas ieraksts tiek pārtraukts ar ORS mainīgā lielumu.

drukāt expr-list > failu

Izdrukas izteiksmes failā . Katrs izteiciens tiek atdalīts ar OFS mainīgā vērtību. Izejas ieraksts tiek pārtraukts ar ORS mainīgā lielumu.

printf fmt, expr-saraksts

Formatējiet un izdrukājiet.

printf fmt, expr-list > failu

Formatējiet un izdrukājiet failu .

sistēma ( cmd-line )

Izpildīt komandu cmd-line un atgriezt izejas statusu. (Tas var nebūt pieejams ārpus POSIX sistēmām.)

fflush ( [ file ] )

Ielieciet visus buferus, kas saistīti ar atvērto izejas failu vai cauruļu failu . Ja trūkst faila , standarta izvads tiek izskalots. Ja fails ir nulles virkne, tad visiem atvērtajiem izejas failiem un caurulēm ir izplūduši buferi.

Papildu produkcijas pārsūtīšana ir atļauta drukāšanai un printf .

izdrukājiet ... >> failu

pievieno izejas failu .

drukāt ... | komandu

raksta uz caurules.

izdrukāt ... | & komandu

nosūta datus kopprocesam.

Getline komanda atgriež 0 faila beigās un -1 ar kļūdu. Pēc kļūdas ERRNO satur virkni, kurā aprakstīta problēma.

PIEZĪME. Ja izmantojat cauruļvadu vai kopprocesu , lai getline , vai no drukas vai printf ciklā, jums jāizmanto close (), lai izveidotu jaunus komandas gadījumus. AWK automātiski neaizver caurules vai kopprocesus, kad tās atgriež EOF.

Deklarācija printf

Drukāšanas paziņojuma un sprintf () funkciju AWK versijas (skatīt zemāk) pieņem šādus reklāmguvumu specifikāciju formātus:

% c

ASCII raksturs. Ja % c izmantotais arguments ir skaitlisks, to uzskata par rakstzīmi un izdrukā. Pretējā gadījumā tiek pieņemts, ka arguments ir virkne, un tiek izdrukāts vienīgais šīs virknes pirmais raksturs.

% d , % i

Ciparskaitlis (vesels skaitlis).

% e,% E

Veidlapas peldošā komata skaitlis [-] d.dddddde [+ -] dd . % E formāts izmanto e, nevis e .

% f

Veidlapas peldošā komata skaitlis [-] ddd.dddddd .

% g,% G

Izmantojiet % e vai % f reklāmguvumu, atkarībā no tā, kurš laiks ir īsāks, ar nenozīmīgu nulles nomākumu. % G formātā izmanto % E, nevis % e .

% o

Neparakstīts astotais numurs (arī vesels skaitlis).

% u Neparakstīts decimālskaitlis (atkal, vesels skaitlis).

% s

Rakstzīmju virkne.

% x,% X

Neparakstīts heksadecimālais skaitlis (vesels skaitlis). % X formātā izmanto ABCDEF, nevis abcdef .

%%

Viena rakstzīme % ; neviens arguments nav pārveidots.

Pēc izvēles papildu parametri var būt starp % un kontroles burtu:

skaita $

Šajā formāta laikā izmantojiet skaitļu argumentu. To sauc par pozicionālo specifiku un galvenokārt paredzēts izmantot formāta virkņu tulkotās versijās, nevis AWK programmas oriģinālajā tekstā. Tas ir gawk pagarinājums.

-

Izteiksmei jāatstāj pamatojums savā jomā.

telpa

Ciparu reklāmguvumiem prefiksējiet pozitīvas vērtības ar atstarpi un negatīvas vērtības ar mīnusa zīmi.

+

Plusa zīme, ko lieto pirms platuma modifikatora (skatiet zemāk), saka vienmēr pievienot signālu ciparu reklāmguvumiem, pat ja formatējamie dati ir pozitīvi. + Maino kosmosa modificētāju.

#

Dažām kontroles burtiem izmantojiet `` alternatīvo formu ''. % O gadījumā piegādājiet galveno nulli. Attiecībā uz % x un % X piegādājiet virkni 0x vai 0X ar nulles rezultātu. % E , % E un % f rezultāts vienmēr satur decimālzīmi. % G un % G , no rezultāta netiek noņemtas pēdējās nulles.

0

Vadošais 0 (nulle) darbojas kā karodziņš, kas norāda, ka izlaide jāpapildina ar nulli, nevis atstarpes. Tas attiecas arī uz ciparu izvades formātiem. Šis karogs ir tikai efekts, ja lauka platums ir plašāks nekā drukājamā vērtība.

platums

Laukumam ir jāpapildina šis platums. Laukums parasti tiek aizpildīts ar atstarpēm. Ja tiek izmantots 0 karodziņš, tas ir pārklāts ar nulli.

. prec

Numurs, kas norāda precizitāti, ko izmantot drukāšanas laikā. % E , % E un % f formātos tas norāda ciparu skaitu, kuru vēlaties izdrukāt pa labi no decimāldaļa punkta. % G un % G formātos norāda maksimālo nozīmīgo ciparu skaitu. % D , % o , % i , % u , % x un % X formātos norāda minimālo drukājamo ciparu skaitu. % S norāda maksimālo rakstzīmju skaitu no virknes, kuru vajadzētu izdrukāt.

Atbalsta ANSI C printf () rutīnas dinamisko platumu un precīzi . A * vai nu platuma, vai precīza rakstura vietā, to vērtības tiek ņemtas no argumentu saraksta uz printf vai sprintf () . Lai izmantotu pozīcijas specifiku ar dinamisko platumu vai precizitāti, piegādājiet skaitli $ pēc * formāta virknē. Piemēram, "% 3 $ * 2 $. * 1 $ s" .

Īpašie failu nosaukumi

Veicot I / O pārorientēšanu no drukāšanas vai printf uz failu vai izmantojot failu getline, gawk iekšēji atpazīst dažas īpašas failu nosaukumus. Šie faila nosaukumi ļauj piekļūt atvērtajiem failu deskriptoriem, kas mantoti no gawk mātes procesa (parasti tā ir čaula). Šos failu nosaukumus var arī izmantot komandrindā, lai nosauktu datu failus. Failu nosaukumi ir:

/ dev / stdin

Standarta ievade.

/ dev / stdout

Standarta izlaide.

/ dev / stderr

Izvades standarta kļūda.

/ dev / fd / n

Fails, kas saistīts ar atvērto failu deskriptoru n .

Tie ir īpaši noderīgi kļūdu ziņojumos. Piemēram:

izdrukājiet "Tu to pamanīji!" > "/ dev / stderr"

kamēr jūs citādi būtu jāizmanto

izdrukājiet "Tu to pamanīji!" | "kaķis 1" un "2"

TCP / IP tīkla savienojumu izveidei kopā ar | & co-process operatoru var izmantot šādus īpašus failu nosaukumus.

/ inet / tcp / lport / rhost / rport

TCP / IP savienojuma fails vietējā ostā lortā uz attālināto resursdatora portālu attālajā ostā. Izmantojiet 0 pieslēgvietu, lai sistēma izvēlētos ostu.

/ inet / udp / lport / rhost / rport

Līdzīgi, bet izmantojiet UDP / IP, nevis TCP / IP.

/ inet / raw / lport / rhost / rport

Rezervēts izmantošanai nākotnē.

Citas īpašas failu nosaukumi nodrošina piekļuvi informācijai par gawk procesa gaitu. Šie faila nosaukumi tagad ir novecojuši. Izmantojiet PROCINFO masīvu, lai iegūtu informāciju, ko tie sniedz. Failu nosaukumi ir:

/ dev / pid

Lasot šo failu, tiek parādīts pašreizējā procesa procesa ID skaitlis decimāldaļā, kas pārtraukts ar jaunu rindiņu.

/ dev / ppid

Lasot šo failu, tiek parādīts pašreizējā procesa vecāku procesa ID, kas decimāldaļā ir pārtraukts ar jaunu līniju.

/ dev / pgrpid

Šī faila lasīšana atgriež pašreizējā procesa procesa grupas ID decimāldaļā, kas pārtraukta ar jaunu līniju.

/ dev / lietotājs

Lasot šo failu, tiek parādīts viens ieraksts, kas pārtraukts ar jaunu līniju. Lauki ir atdalīti ar atstarpēm. $ 1 ir getuid (2) sistēmas izsaukuma vērtība, $ 2 ir geteuid (2) sistēmas zvana vērtība, $ 3 ir getgid (2) sistēmas zvana vērtība, un $ 4 ir ģeogrāfiskā (2) vērtība, sistēmas zvans. Ja ir papildu lauki, tie ir grupu ID, kurus atgriež getgroup (2). Vairākās grupās var neatbalstīt visas sistēmas.

Ciparu funkcijas

AWK ir šādas iebūvētas aritmētiskās funkcijas:

atan2 ( y , x )

Atgriež y / x arctangent radians.

cos ( expr )

Atgriež ekspresa kosinusu, kas ir radians.

exp ( expr )

Eksponenciālā funkcija.

int ( expr )

Noapaļo līdz veselam skaitlim.

log ( expr )

Naturālā logaritma funkcija.

rand ()

Atgriež nejaušo skaitli no 0 līdz 1.

grēks ( expr )

Atgriež expres sine, kas ir radians.

sqrt ( expr )

Kvadrātsaknes funkcija.

srand ( [ expr ] )

Izmanto expr kā jaunu sēklu gadījuma skaitļu ģeneratoram. Ja expr nav paredzēts, tiek izmantots dienas laiks. Atgriežamā vērtība ir iepriekšējā sēkla nejaušo skaitļu ģeneratoram.

String funkcijas

Gawk ir šādas iebūvētas virknes funkcijas:

asort ( s [ , d ] )

Atgriež elementu skaitu avota masīvā s . S saturs tiek sakārtots, izmantojot gawk normālos noteikumus, lai salīdzinātu vērtības, un s šķiroto vērtību indeksi tiek aizstāti ar secīgiem veseliem skaitļiem, sākot ar 1. Ja ir norādīts izvēles galamērķa masīvs d , tad s vispirms tiek dublēts d , un pēc tam d ir sakārtots, atstājot avota masīvu indeksus s nemainīgi.

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

Meklējiet mērķa virkni t regulāro izteiksmju r spēlēm. Ja h ir virkne, kas sākas ar g vai G , tad nomainiet visas atbilstības r ar s . Pretējā gadījumā h ir skaitlis, kas norāda, kura atbilstība r, lai aizstātu. Ja t netiek piegādāts, tā vietā tiek izmantoti $ 0 . Rezerves teksta s ietvaros secība \ n , kur n ir cipars no 1 līdz 9, var tikt izmantots, lai norādītu tikai tekstu, kas atbilst n apaļajam apakškizveidojumam. Secība \ 0 attēlo visu saskaņoto tekstu, tāpat kā rakstzīmi & . Atšķirībā no sub () un gsub () , modificētā virkne tiek atgriezta kā funkcija, un sākotnējā mērķa virkne nav mainīta.

gsub ( r , s [ , t ] )

Katrai apakšvirknei atbilstošā regulāro izteiksmi r t stringi aizstāj ar stringi un atgriež aizvietojumu skaitu. Ja t netiek piegādāts, izmantojiet 0 $ . Aizstājamā teksta teksts tiek aizstāts ar faktiski saskaņoto tekstu. Izmantojiet \ &, lai iegūtu burtisku & . (Tas jāiestata kā "\\" un skatiet GAWK: efektīva AWK programmēšana, lai pilnīgāk apspriestu noteikumus, kas attiecas uz & ; un atpakaļgahām, apakšējā () , gsub () un gensub () aizstāšanas tekstā.)

indekss ( s , t )

Atgriež virknes t indeksu virknē s , vai 0, ja t nav. (Tas nozīmē, ka rakstzīmju rādītāji sākas vienā.)

garums ( [ s ] )

Atgriež stringi s garumu vai $ 0 garumu, ja s nav piegādāts.

atbilstība ( s , r [ , a ] )

Atgriež pozīciju s, kur parādās regulārā izteiksme r , vai 0, ja r nav, un nosaka RSTART un RLENGTH vērtības. Ņemiet vērā, ka argumentu secība ir tāda pati kā operatoram ~ str ~ re . Ja ir izveidots masīvs a , a tiek notīrīta un pēc tam elementi no 1 līdz n aizpilda ar s daļām, kas atbilst attiecīgajai iekavās apakškizreile r . Elementa 0. 'elements satur s daļu, kas sakrīt ar visu regulāro izteiksmi r .

split ( s , a [ , r ] )

Sadala virkni s regulāro izteiksmju r masīvā a un atgriež lauku skaitu. Ja r ir izlaists, tā vietā tiek izmantots FS . Masīvs a tiek notīrīts vispirms. Sadalīšanās notiek tādā pašā veidā kā lauka sadalīšana, kā aprakstīts iepriekš.

sprintf ( fmt , expr-saraksts )

Izdrukā expr-list atbilstoši fmt un atgriež iegūto virkni.

strtonum ( str )

Pārbauda str , un atgriež savu skaitlisko vērtību. Ja str sākas ar vadošo 0 , strtonum () pieņem, ka str ir oktālais skaitlis. Ja str sākas ar galveno 0x vai 0X , strtonum () pieņem, ka str ir heksadecimālais skaitlis.

sub ( r , s [ , t ] )

Tāpat kā gsub () , bet tiek aizstāta tikai pirmā atbilstošā apakšvirkne.

substr ( s , i [ , n ] )

Atgriež ne vairāk kā n -sauktu apakšvirkni, sākot no i . Ja n tiek izlaists, tiek izmantota pārējā s .

tolower ( str )

Atgriež virknes strīda kopiju, ar visiem lielajiem burtiem str, kas iztulkoti to atbilstošajos mazos gadījumos. Non-alfabētiskas rakstzīmes paliek nemainītas.

toupper ( str )

Atgriež virknes strīda kopiju, ar visām mazajiem burtiem str, kas iztulkoti to atbilstošajos lielo burtu kolonnās. Non-alfabētiskas rakstzīmes paliek nemainītas.

Laika funkcijas

Tā kā viens no galvenajiem AWK programmu lietojumiem ir žurnāla failu apstrāde, kas satur laika zīmogu informāciju, gawk nodrošina šādas laika spiedogu iegūšanas un formatēšanas funkcijas.

mktime ( datespec )

Rurns atbilst datumam tādā pašā formā kā atpakaļ ar systime () . Datnespec ir formas virkne YYYY MM DD HH MM SS [DST] . Virknes saturs ir seši vai septiņi numuri, kas attiecīgi attēlo visu gadu, ieskaitot gadsimtu, mēnesi no 1 līdz 12, mēneša dienu no 1 līdz 31, dienas stundu no 0 līdz 23, minūtes no 0 līdz 59 un otrais no 0 līdz 60 un papildu dienasgaismas taustiņš. Šo skaitļu vērtības nedrīkst būt norādītajās diapazonos; Piemēram, stunda -1 nozīmē 1 stundu pirms pusnakts. Paredzams, ka tiek noteikts nulles grieķu kalendārs ar 0. gadu pirms 1. gada un -1 gadu pirms 0. gada. Tiek pieņemts, ka laiks ir vietējā laika joslā. Ja dienasgaismas taustiņš ir pozitīvs, tiek pieņemts, ka laiks ir vasaras laiks; ja nulle ir pieņemts, ka laiks ir standarta laiks; un, ja negatīvs (noklusējums), mktime () mēģina noteikt, vai attiecīgajā laikā ir spēkā vasaras laiks. Ja datepec nesatur pietiekami daudz elementu vai ja iegūtais laiks ir ārpus diapazona, mktime () atgriež -1.

strftime ( [ formāts [ , laikspiedols ]] )

Formāts laikspiedols atbilstoši specifikācijai formātā. Laika zīmei jābūt tādai pašai formai kā atpakaļ ar systime () . Ja laika zīmoga trūkst, tiek izmantots pašreizējais dienas laiks. Ja formāts trūkst, tiek izmantots noklusējuma formāts, kas līdzvērtīgs datuma (1) izvadei. SKAIDROJUMA SARAKSTS Konfigurācijas formātā, kas, iespējams, ir pieejama, skatiet funkciju strftime () funkciju ANSI C specifikācijā. Strftime (3) publiska domēna versija un vīrieša lapa tam ir ar gawk ; ja šī versija tika izmantota, lai izveidotu gawk , tad visi konversijas, kas aprakstītas šajā cilvēka lapā, ir pieejami gawk.

systime ()

Atjauno pašreizējo dienas laiku kā sekundes, skaitot no laikmeta (1970-01-01 00:00:00 UTC POSIX sistēmās).

Bit manipulācijas funkcijas

Sākot ar gawk versiju 3.1, ir pieejamas šādas bitu manipulācijas funkcijas. Viņi strādā, pārvēršot dubultās precizitātes peldošās vērtības vērtības par neieteiktiem gariem veseliem skaitļiem, veicot darbību un pēc tam pārveidojot rezultātu atpakaļ peldošā komata. Funkcijas ir šādas:

un ( v1 , v2 )

Atgriezieties ar bitwise AND vērtību, ko nodrošina v1 un v2 .

compl ( val )

Atgriezties pie bitwise papildinājuma val .

lshift ( val , skaits )

Atgriež vērtību val , pārvietots pa kreisi ar skaitīšanas bitiem.

vai ( v1 , v2 )

Atgriež vērtību bitwise OR no v1 un v2 nodrošinātām vērtībām.

rshift ( val , skaits )

Atgriež vērtību val , pārvietojoties pa skaitļa bitiem.

xor ( v1 , v2 )

Atgriež vērtību bitwise XOR, ko nodrošina v1 un v2 .

Internacionalizācijas funkcijas

Sākot ar gawk versiju 3.1, no jūsu AWK programmas var izmantot šādas darbības virkņu translēšanai izpildes laikā. Pilnu informāciju skatiet GAWK: efektīva AWK programmēšana .

bindtextdomain ( katalogs [ , domēns ] )

Norāda direktoriju, kurā gawk meklē .mo failus, ja tie netiks ievietoti vai to nevarēs ievietot "standarta" vietās (piemēram, pārbaudes laikā). Tas atgriež direktoriju, kurā domēns ir saistīts.

Noklusējuma domēns ir TEXTDOMAIN vērtība. Ja direktorija ir nulles virkne ( "" ), tad bindtextdomain () atgriež pašreizējo saistošo vērtību konkrētajam domēnam .

dcgettext ( virkne [ , domēns [ , kategorija ]] )

Atgriež virknes tulkošanu teksta domēna domēnā vietējās kategorijas kategorijā . Domēna noklusējuma vērtība ir pašreizējā TEXTDOMAIN vērtība. Noklusējuma kategorija ir "LC_MESSAGES" .

Ja jūs sniedzat kategoriju vērtību, tai jābūt virknei, kas atbilst vienai no pazīstamajām valodu kategorijām, kas aprakstītas GAWK: Effective AWK Programming . Jums ir jāiesniedz arī teksta domēns. Izmantojiet TEXTDOMAIN, ja vēlaties izmantot pašreizējo domēnu.

dcngettext ( string1 , string2 , numurs [ , domēns [ , kategorija ]] )

Atgriež daudzvalodu formu, kas tiek izmantota virknes1 un string2 tulkojuma skaitam teksta domēna domēnā vietnes kategorijas kategorijā . Domēna noklusējuma vērtība ir pašreizējā TEXTDOMAIN vērtība. Noklusējuma kategorija ir "LC_MESSAGES" .

Ja jūs sniedzat kategoriju vērtību, tai jābūt virknei, kas atbilst vienai no pazīstamajām valodu kategorijām, kas aprakstītas GAWK: Effective AWK Programming . Jums ir jāiesniedz arī teksta domēns. Izmantojiet TEXTDOMAIN, ja vēlaties izmantot pašreizējo domēnu.

LIETOTĀJAM NOTEIKTAS FUNKCIJAS

AWK funkcijas definē šādi:

funkcijas nosaukums ( parametru saraksts ) { paziņojumi }

Funkcijas tiek izpildītas, kad tās tiek izsauktas no izteicieniem gan modeļos, gan darbībās. Funkcionālā izsaukumā piegādātie faktiskie parametri tiek izmantoti, lai modelētu formālos parametrus, kas deklarēti funkcijā. Masīvi tiek nodoti pēc atsauces, citi mainīgie tiek nodoti pēc vērtības.

Tā kā funkcijas sākotnēji nebija AWK valodas daļa, vietējo mainīgo noteikums ir diezgan neveikls: tos parametru sarakstā deklarē kā papildu parametrus. Konvencija ir atdalīt vietējos mainīgos no reāliem parametriem ar papildu atstarpēm parametru sarakstā. Piemēram:

funkcija f (p, q, a, b) # a un b ir lokāli {...} / abc / (...; f (1, 2); ...}

Funkcijas izsaukumā kreisajās iekavās ir nepieciešams nekavējoties sekot funkcijas nosaukumam, neaizverot atstarpes. Tas ir, lai izvairītos no sintakses neskaidrības ar apvienošanās operatoru. Šis ierobežojums neattiecas uz iepriekš minētajām iebūvētām funkcijām.

Funkcijas var zvanīt viens otram un var būt rekursīvas. Funkciju parametri, kas tiek izmantoti kā vietējie mainīgie, tiek inicializēti uz nulles virkni un nulles skaitli pēc funkciju izsaukšanas.

Izmantojiet return expr, lai atgrieztu vērtību no funkcijas. Atgriezeniskā vērtība ir nenoteikta, ja vērtība nav norādīta, vai arī, ja funkcija atgriežas, noklikšķinot uz beigām.

Ja --lint ir nodrošināts, gawk brīdina par zvaniem uz nenoteiktām funkcijām, kas tiek izmantotas parsēšanas laikā, nevis izpildes laikā. Neveiksmīgas funkcijas izsaukšana izpildes laikā ir fatāla kļūda.

Vārdu func var izmantot funkcijas vietā .

JAUNU FUNKCIJU DINAMIKAS LOADĒŠANA

Sākot ar gawk versiju 3.1, jūs varat dinamiski pievienot jaunās iebūvētās funkcijas runājošajam gawk tulkotājam. Pilnīga informācija ir ārpus šīs rokasgrāmatas lapas; Skatīt informāciju par GAWK: Efektīva AWK programmēšana .

pagarinājums ( objekts , funkcija )

Dinamiski saistīt koplietojamo objektu failu, kuru nosaukusi objekts , un aktivizēt funkciju šajā objektā, lai veiktu inicializāciju. Abiem jābūt gan kā virknes. Atgriež funkciju atgriezto vērtību.

Šī funkcija tiek nodrošināta un dokumentēta GAWK: Effective AWK Programming , bet viss par šo funkciju, visticamāk, mainīsies nākamajā laidienā. Mēs ļoti iesakām neizmantot šo funkciju neko, ko nevēlaties pārtaisīt.

SIGNĀLI

Pgawk pieņem divus signālus. SIGUSR1 izraisa profila faila profila un funkcijas izsaukuma kaudzi, kas ir vai nu awkprof.out , vai arī kāds fails ir nosaukts ar -profile opciju. Tad turpina darboties. SIGHUP izraisa tā noņemšanu no profila un funkciju izsaukuma kaudzi un pēc tam iziet.

PIEMĒRI

Visu lietotāju pieteikumvārdu drukāšana un sakārtošana : BEGIN {FS = ":"} {print $ 1 | "kārtot"} Grāfēt rindas failā: {nlines ++} END {print nlines} Ievadīt katru rindiņu ar tā numuru failā: {drukāt FNR, $ 0} Saķēdēt un rindas numurs (variācija tēmā): {drukāt NR, $ 0}

Iekšalizācija

Stīgu konstantes ir rakstzīmju secības, kas ietvertas divkāršās pēdiņas. Ne angļu valodā runājošās vidēs AWK programmā var apzīmēt virknes, kas prasa tulkojumu dabiskajā valodā. Šādas virknes ir apzīmētas AWK programmā ar vadošo pasvītrojumu (`` _ ''). Piemēram,

gawk "BEGIN {izdrukāt" sveiki, pasaule "} '

vienmēr izdrukā sveicienu, pasauli . Bet,

gawk "BEGIN {print _" hello, world "} '

varētu izdrukāt bonjour, monde Francijā.

Vietējās AWK programmas izveidošanā un vadīšanā ir vairāki soļi.

1

Pievienojiet BEGIN darbību, lai piešķirtu vērtību mainīgajam TEXTDOMAIN, lai iestatītu teksta domēna nosaukumu, kas saistīts ar jūsu programmu.


SĀKUMU {TEXTDOMAIN = "myprog"}

Tas ļauj gawk atrast .mo failu, kas ir saistīts ar jūsu programmu. Bez šī soli gawk izmanto teksta domēnu, kas, iespējams, nesatur tulkojumus jūsu programmai.

2

Atzīmējiet visas virknes, kuras vajadzētu pārtulkot ar galvenajiem pasvītrojumiem.

3

Vajadzības gadījumā savā programmā izmantojiet funkciju dcgettext () un / vai bindtextdomain () .

4

Run gawk --gen-po -f myprog.awk> myprog.po, lai ģenerētu .po failu savai programmai.

5

Nodrošiniet atbilstošus tulkojumus un izveidojiet un instalējiet atbilstošu .mo failu.

Internacionalizācijas funkcijas ir sīki aprakstītas GAWK: Efektīva AWK Programmēšana .

Posix saderība

Gawk galvenais mērķis ir saderība ar POSIX standartu, kā arī ar jaunāko UNIX awk versiju. Šajā nolūkā gawk ietver šādas lietotāja redzamās funkcijas, kas nav aprakstītas AWK grāmatā, bet ir daļa no Bell laboratoriju versijas awk , un tās ir POSIX standarta ietvaros.

Grāmata norāda, ka komandrindas mainīgā piešķiršana notiek, kad awk citādi atver argumentu kā failu, kas tiek izpildīts pēc BEGIN bloka izpildes. Tomēr agrākos ieviešanas gadījumos, kad šāds uzdevums parādījās pirms jebkādiem failu nosaukumiem, uzdevums notiks pirms BEGIN bloķēšanas palaišanas. Pieteikumi bija atkarīgi no šī `` iezīme. '' Kad awk tika mainīts, lai atbilstu dokumentācijai, -v opcija mainīgo piešķiršanai pirms programmas izpildes tika pievienota, lai pielāgotos lietojumprogrammām, kuras bija atkarīgas no vecās uzvedības. (Šo funkciju ir vienojušies gan Bell Laboratories, gan GNU izstrādātāji.)

-W opcija ieviešanas īpašajām funkcijām ir no POSIX standarta.

Pārstrādājot argumentus, gawk izmanto īpašo iespēju `` - '', lai signalizētu argumentu beigas. Saderības režīmā tas brīdina par, bet citādi ignorē nenoteiktas opcijas. Parastā darbībā šie argumenti tiek nodoti AWK programmai, lai to apstrādātu.

AWK grāmatā nav definēta srand () atdeve. POSIX standarts ļauj atgriezt izmantotās sēklas, lai varētu izsekot nejaušu skaitļu virknes. Tādēļ srand () gawk arī atdod savu pašreizējo sēklu.

Citas jaunās funkcijas ir: vairāku -f opciju izmantošana (no MKS awk ); ENVIRON masīvs; \ a un \ v evakuācijas sekvences (sākotnēji veiktas gawk un atdotas atpakaļ Bell Laboratories versijā); tolower () un toupper () iebūvētās funkcijas (no Bell Laboratories versijas); un ANSI C pārveidošanas specifikācijas printf (kas pirmo reizi tika veikts Bell Laboratories versijā).

Vēsturiskas iezīmes

Ir divas vēsturisko AWK implementāciju iezīmes, kuras gawk atbalsta. Pirmkārt, iebūvēto funkciju garums () var izsaukt ne tikai bez argumentiem, bet arī bez iekavām! Tādējādi

a = garums # Svētais Algols 60, Betmens!

ir tāda pati kā jebkurai no

a = garums ()
a = garums ($ 0)

POSIX standartā šī funkcija ir atzīmēta kā `` novecojusi '', un gawk brīdina par tā izmantošanu, ja komandrindā ir norādīts --lint .

Otra funkcija ir vai nu turpinājuma, vai pārtraukuma paziĦojumu izmantošana ārpus ķermeņa uz laiku , vai , vai cilpa. Tradicionālie AWK ieviešanas piemēri ir pielīdzināti nākamajam apgalvojumam. Gawk atbalsta šo lietošanu, ja --traditional ir norādīts.

GNU paplašinājumi

Gawk ir vairāki POSIX awk pagarinājumi. Tie ir aprakstīti šajā sadaļā. Visi šeit aprakstītie paplašinājumi var tikt atspējoti, izmantojot gawk, izmantojot --traditional opciju.

POSIX awk nav pieejamas šādas gawk funkcijas.

*

Neviena ceļa meklēšana netiek veikta failiem, kas nosaukti, izmantojot -f opciju. Tāpēc vides mainīgais AWKPATH nav īpašs.

*

\ X evakuācijas secība. (Atspējots ar --posix .)

*

Fflush () funkcija. (Atspējots ar --posix .)

*

Spēja turpināt līnijas pēc ? un : (Atspējots ar --posix .)

*

Astoto un heksadecimālo konstantes AWK programmās.

*

Mainīgie ARGIND , BINMODE , ERRNO , LINT , RT un TEXTDOMAIN nav īpašie.

*

IGNORECASE mainīgais un tā blakusparādības nav pieejami.

*

FIELDWIDTHS mainīgais un fiksēta platuma lauks sadalīšanai.

*

PROCINFO masīvs nav pieejams.

*

RS kā regulāras izteiksmes izmantošana.

*

Īpašie failu nosaukumi, kas pieejami I / O novirzīšanai, netiek atpazīti.

*

| & Operators, lai izveidotu kopprocesus.

*

Spēja sadalīt atsevišķas rakstzīmes, izmantojot nulles virkni kā FS vērtību, un kā trešo argumentu split () .

*

Neobligātais otrais arguments funkcijai close () .

*

Neobligāts trešais arguments par match () funkciju.

*

Spēja izmantot pozicionālās specifikācijas ar printf un sprintf () .

*

Izmantojiet izdzēšanas masīvu, lai izdzēstu visu masīva saturu.

*

Nākamā faila izmantošana, lai pārtrauktu pašreizējā ievades faila apstrādi.

*

Un () , bindtextdomain () , compl () , dcgettext () , gensub () , lshift () , mktime () vai () , rshift () , strftime () , strtonum () , systime () un xor () funkcijas.

*

Localizable stīgas.

*

Jaunu iebūvētās funkciju pievienošana dinamiski ar paplašinājumu () funkciju.

AWK grāmatā nav definēta tuvās () funkcijas atgriešanās vērtība. Gawk 's close () atgriež vērtību no fclose (3) vai pclose (3), aizverot attiecīgi izvades failu vai cauruli. Aizverot ievades cauruli, tiek parādīts procesa izejas statuss. Atgriešanās vērtība ir -1, ja minētais fails, caurule vai kopprocess nav atvērtas ar novirzīšanu.

Ja gawk tiek izsaukts ar --traditional opciju, ja fs arguments ar -F opciju ir `` t '', tad FS ir iestatīts uz cilnes rakstzīmi. Ņemiet vērā, ka ierakstīšana gawk -F \ t ... vienkārši liek čaulam citēt `` t, '' un nepārsniedz `` \ t '' uz -F opciju. Tā kā tas ir diezgan neglīts īpašs gadījums, tas nav noklusējuma uzvedība. Šī uzvedība arī nenotiek, ja ir norādīts --posix . Lai tiešā veidā iegūtu cilnes rakstzīmi kā lauka atdalītāju, vislabāk ir izmantot vienotas cenas: gawk -F '\ t' ....

Skatīt citas komandas : wait , lp , complete , execv , getfacl , ioctl , uniq , rmmod , pvcreate , rsh , unix2dos , cal , fs , cd , iwpriv , swapon , autofs , talk , motd , bezmaksas , lpr , execl , fdisk , at , kas , iwconfig , ifconfig , vgdisplay , atvērt , lsmod , ntohs , mailq , nogalināt , wtmp