Омӯзед Linux Command - gawk

Ном

гов - тарҳбандии намунавӣ ва забони коркард

Калима

[POSIX ё вариантҳои GNU] -f -файли файл [ - ] файли ...
[POSIX ё вариантҳои таркиби GNU] [ - ] файли барномаи барномавӣ ...

pgawk [ усули POSIX ё GNU style] -f program-файл [ - ] файли ...
pgawk [ усули POSIX ё GNU style] [ - ] файли барнома-матн ...

Тавсифи

Гавк татбиқи лоиҳаи GNU -и барномаи барномасозии AWK мебошад. Он ба таърифи забони дар POSIX 1003.2 стандарти фармонҳои нав ва иртиботҳо мувофиқат мекунад. Ин вариант дар навбати худ ба тавсифи AWK Programming Language , аз ҷониби Aho, Kernighan ва Weinberger, бо хусусиятҳои иловагӣ, ки дар системаи V Release 4 version UNIX офарида шудааст. Гавк ҳамчунин ба лабораторияҳои сертификатсионии Bell Labs бештар дастрасӣ дорад ва як қатор васеъшавии GNU.

Pgawk нусхаи профили гов мебошад . Он дар ҳама гуна қаҳвахона монанд аст , ба ғайр аз он, ки барномаҳоро оҳиста-оҳиста давом медиҳанд ва он дар протокол awkprof.kg сабт карда шудааст . Нигоҳ доштани варианти фармони , дар поён.

Хати фармон аз услуби худ, графикаи барномаи AWK иборат аст (агар бо роҳи интихоби -f ё функсияҳо дода нашавад ), ва арзишҳое, ки дар ARGC ва ARGV пешакӣ муайян карда шудаанд AWK.

Формати вариант

Вариантҳои Gawk метавонад постҳои анъанавии POSIX-ро як вариантҳои ҳарф ё тарзи дарозтари GNU дошта бошанд. Интихоби POSIX бо як «` - '' оғоз меёбад, дар ҳоле ки интихоби дарозтарин бо "- -" оғоз меёбад. Имкониятҳои дароз барои хусусиятҳои GNU мушаххас ва хусусиятҳои POSIX-талаб карда мешавад.

Пас аз стандарти POSIX, параметрҳои фаръии параметрҳо бо далелҳо ба вариант дохил мешаванд. Интихоби якчанд вариантҳои додашуда мумкин аст Ҳар вариант -W варианти дарозмӯҳлат дорад, ки дар поён оварда шудааст. Далелҳо ба интихоби дарозмуддат бо параметр бо аломати имзо, бо ҳеҷ гуна фосила ва ё дар сатри навбатии фармонҳо пешниҳод карда мешаванд. Имкониятҳои дароз метавонанд кӯтоҳ карда шаванд, то даме, ки кӯтоҳмуддат боқӣ мемонад.

Имкониятҳо

Гов ба вариантҳои зерин ном бурда мешавад: alphabetically.

- ФС

- фосила-ҷудокунакчӣ Фs барои ҷудокунии майдончаи майдон (арзиши тағйирёбии пешакии FS ).

-v var = val

- исбот кунед var = val Пеш аз оғози барнома оғоз аз ҳисоби вуруд ба маблағи тағйирёбӣ. Чунин арзиши тағйирёбанда барои Блоки BEGIN барномаи AWK дастрас аст.

-фаъолияти парванда

- файли барномаи файл Файли барномасозии AWK аз барномаи файли файли , аз ҷои ибтидоии сатри фармон. Интихоби мулоҳизаҳо - f (or --file ) мумкин аст истифода шавад.

ННН

-mr NNN Нишонҳои гуногуни хотираи хотираро ба арзиши NNN муқаррар намоед . Парчаи фосила шумораи зиёди майдонҳоро муқаррар мекунад ва тақвими асбоби сабти ниҳоӣ муқаррар карда мешавад. Ин ду байрақ ва вариант-аз сайти лабораторияи Bell Labs иборатанд аз UNIX . Онҳо аз тарафи гов ба даст меоранд , зеро қаҳвахо дорои маҳдудияти қаблан муқарраршуда нестанд.

-Интихобот

-То анъанавӣ

- намоишнома

- поинравӣ Дар ҳолати мутобиқат . Дар ҳолати мутобиқат, гов ба шабеҳи UNIX рафтор мекунад; ҳеҷ як аз васеъшавии GNU-мушаххас эътироф намешавад. Истифодаи префикс аз шаклҳои дигари ин интихобтар аст. Ба маълумоти иловагӣ нигаред, GNU EXTENSIONS , дар поён.

-Метавонам

- ҳуқуқи муаллиф

НОҲИЯИ МУЪМИНОБОД

- суроғаи рақами кӯтоҳи GNU иттилооти иттилоотии ҳуқуқи муаллифро дар протсеси стандартиро чоп кунед ва бомуваффақият бардоред .

-муқаррарӣ-тағирёбанда [ = файли ]

- каҷкунӣ-тағиротҳо [ = файл ] Рӯйхати номаълуми тағйирёбии глобалӣ, намудҳои онҳо ва арзишҳои ниҳоӣ ба файл . Агар ягон файли дода нашуда бошад , панели номи файл дар awrvars.out дар феҳристи ҷорӣ истифода мешавад.

Бо рӯйхати ҳамаи тағйирёбии глобалӣ роҳи хубе барои ҷустуҷӯи хатогиҳои хаттӣ дар барномаҳои худ. Шумо инчунин метавонед ин вариантро истифода баред, агар барномаи васеъ бо бисёр функсияҳо дошта бошед ва шумо боварӣ ҳосил кунед, ки функсияҳои шумо беэътиноёбандаҳои глобалӣро истифода намебаранд, ки шумо маънои маҳаллӣ доред. (Ин як хатои махсусан осон аст, ки бо номҳои тағйирёбии оддӣ монанди ман , j , ва ғайра.)

- Кӯмак

Истифодабарандагон

--Ёрӣ

- Насб кардани мухтасари нисбатан кӯтоҳе аз имконоти мавҷуда дар истеҳсоли стандартӣ. (Аз рӯи стандарти GNU Coding , ин вариантҳо берун аз муваффақият ва муваффақият ба воя мерасанд.)

-Линзаи [ = қатли ]

--lint [ = фавқулмавт ] Огоҳшунаҳо дар бораи сохторҳое, ки шубҳанок нестанд ё ба дигар амалиётҳои дигар дохил намешаванд. Бо далели ихтиёрии марговар , огоҳии лентаи хатоҳои фавқулода мегардад. Ин метавонад душвор бошад, аммо истифодаи он албатта ба рушди барномаҳои покизатсияи AWK мусоидат хоҳад кард.

-Метавонам

- пинҳонӣ пеш аз огоҳиҳо дар бораи сохторҳое, ки ба версияи аслии нусхаи Unix тааллуқ надоранд.

-Венгрия

- Скан ва барномаи барномаи AWK тақсим карда, файли формати GNU .po бо протоколҳои стандартиро бо вурудоти ҳамаи нуқтаҳои маҳаллии маҳаллӣ дар барнома. Барномаи худ иҷро намешавад. Барои гирифтани маълумоти бештар дар бораи файлҳои .po ба тақсимоти GET GET нигаред.

-дар маълумотҳои ғайридавлатӣ

- маълумотҳои даҳнафарӣ Диққати окклюлятсиониро дар маълумоти воридшавӣ муайян кунед. Ин параметрро бо эҳтиёт истифода кунед!

-Шумо

--posix Ин рӯйхат дар мувофиқати мутобиқат бо маҳдудиятҳои иловагии зерин рӯй медиҳад:

*

\ x пайдаронӣ аз гурезаҳо эътироф намешавад.

*

Танҳо фосила ва ҷадвал ҳамчун ҷудокунандагони майдон, вақте ки FS ба фазои ягони муқаррарӣ таъин шудааст, нависта нав нест.

*

Шумо пас аз хатогиҳои минбаъдаро давом дода метавонед ? ва :.

*

Функсияи калима барои функсияҳои калидӣ эътироф намешавад.

*

Операторҳо ** ва ** = наметавонанд дар ҷои ^ ва ^ = истифода шаванд .

*

Функсияи fflush () дастрас нест.

- Вориди [ = prof_file ]

--profile [ = prof_file ] Ба профили профили ба prof_file ирсол намоед. Варианти awkprof.out аст . Вақте ки бо гариб иҷро мешавад , профили як варианти "чопӣ" чоп шудааст. Вақте ки шумо бо pgawk иҷро карда истодаед , профили ҳисобҳои ҳар як изҳорот дар барнома дар маржаи чап ва занги ҳисобии функсия барои ҳар як функсияи истифодабаранда мавҷуд аст.

-Вазорати нав

- пинҳон кардан Истифодаи ибораҳои фосилавӣ дар мувофиқати доимии ифодаи муқаррарӣ (нигаред ба таври даврӣ , дар поён). Эзоҳҳои фосилавӣ одатан дар забони AWK дастрас нестанд. Стандартҳои POSIX ба онҳо илова карда шуданд, то ки бо ҳамдигар мувофиқ бошанд. Бо вуҷуди ин, истифодаи онҳо шояд барномаҳои кӯҳнаҳои AWK-ро вайрон карда бошанд, бинобар ин, онҳо танҳо ба онҳо имконият медиҳанд, ки агар ин дархостро дархост кунанд, ё вақте ки - насб муайян карда мешавад.

-тавре,

- барномаи барномавӣ - матн ҳамчун барномаи AWK рамзи барномаи барномаро истифода баред. Ин вариант имкон медиҳад, ки ба таври осонкунии функсияҳои китобхона имконпазир гардед (бо усули функсия -f ва --file ) бо рамзи сарчашма, ки дар сатри фармонҳо ворид карда шудааст. Он асосан барои барномаҳои миёна ва калонтари AWK пешбинӣ шудааст, ки дар таҳрирҳои пӯшида истифода мешаванд.

Вариант

--version Маълумоти нусхаи чопӣ барои ин нусхаи мушаххаси гов дар протсеси стандартиро. Ин асосан барои донистани он, ки нусхаи ҷорӣ дар бораи системаи шумо дар бораи он, ки чӣ гуна ба Фонди дастгирии нармафзори ройгон тақсим карда мешавад. Инчунин ҳангоми гузоридани хато муфид аст. (Аз рӯи стандарти GNU Coding , ин вариантҳо берун аз муваффақият ва муваффақият ба воя мерасанд.)

- Сатри интихоби параметрҳо. Ин имкон медиҳад, ки далелҳои минбаъдаро ба барномаи AWK худамро оғоз кунед. Ин асосан барои муқоиса бо анҷуманест, ки аз ҷониби дигар барномаҳои POSIX истифода мешаванд.

Дар ҳолати мутобиқат, ҳар як вариантҳои дигар ҳамчун номуайян ишора карда мешаванд, аммо дигар ҳолатҳо нодуруст мебошанд. Дар амалияи муқаррарӣ, то даме ки матни барнома дода шудааст, вариантҳои номаълум ба барномаи AWK дар силсилаи ARGV барои коркард дода шудаанд. Ин барои пешбурди барномаҳои AWK тавассути механизми тарҷумаи расмии "#!" Аст.

Иҷро намудани барномаи AWK

Барномаи AWK аз як пайдоиши намунаи амалиёт-амалиёт ва таърифҳои функсияҳои иловагӣ иборат аст.

намунаи { action statements }

номи функсия ( рӯйхати параграф ) { statements }

Гов аввалин барнома аз барномаи файлҳо ( файлҳо ) -ро, агар муайян карда шавад, аз ҳарфҳо ба --система , ё аз ибтидои фармонҳои ғайриэътимод дар сатри фармон. Вариантҳои -f ва --система метавонанд дар як сатри фармонҳо якчанд маротиба истифода шаванд. Гов ба матн барномае хондааст, ки агар ҳамаи файлҳои файли ва матнҳои манбаъи фармонӣ якҷоя шуда бошанд. Ин барои сохтани феҳристи функсияҳои AWK муфид аст, бе ворид кардани онҳо дар ҳар як барномаи AWK нав, ки онҳоро истифода мебарад. Он ҳамчунин имконият медиҳад, ки функсияҳои китобхонаро бо барномаҳои фармони таъмин кунанд.

Дараҷаи муҳити атроф AWKPATH роҳи ҷустуҷӯро ҳангоми дарёфти файлҳои манбаъ бо номи -f имконпазир мекунад. Агар ин тағйирот мавҷуд набошад, роҳи рости ".: / Usr / local / share / awk" мебошад . (Феҳристи воқеӣ метавонад вобаста бошад, ки чӣ гуна гов сохта шуда буд.) Агар номе, ки номгӯи функсия ба -f- ро фармоиш кунад , аломати "

Гов дар таркиби зерин барномаҳои AWKро иҷро мекунад. Пеш аз ҳама, ҳамаи таъини тағйирёбанда, ки ба воситаи вариант интихоб шудаанд, иҷро мешаванд. Баъд, гов ба барнома дохил карда мешавад. Пас, гов дар рамзи BEGIN блог (агар) дошта бошад, ва сипас ҳар як файлеро, ки дар асри ARGV хонда мешавад, бармегардонад . Агар ягон файле , ки дар сатри фармон зикр шуда бошад, қадами стандартиро хонед.

Агар файле, ки дар сатри фармон аст, формати формат дорад = val ба он ҳамчун вазифаи тағйирёбанда табдил дода мешавад. Варианти тағйирёбанда ба ҳисоби арзиш таъин карда мешавад. (Ин пас аз ҳар як BEGIN BEGIN иҷро шудааст.) Мавқеи фармондиҳандаи ихтилофоти фармонҳо барои тақсимоти динамикӣ ба тағйирёбандаҳо муфид аст AWK барои назорат кардани он, ки чӣ гуна дохилшавӣ ба майдонҳо ва сабтҳо истифода мешавад. Инчунин барои идоракунии давлат фоидаовар аст, агар гузаргоҳҳои зиёде дар файли ягонаи маълумот талаб карда шаванд.

Агар арзиши як ҷузъи махсуси ARGV холӣ бошад ( "" ), гов дар болои он мегузарад.

Барои ҳар як сабт дар замима, санҷишҳои гов барои дидани он, ки оё ягон тарзи барномаи AWK мувофиқ аст. Барои ҳар як намунаи бақайдгирӣ, амали алоқаманд иҷро карда мешавад. Намудҳо дар фармоише, ки онҳо дар барнома доранд, санҷида мешаванд.

Ниҳоят, баъд аз ҳама вурудот хомӯш мешавад, гов ба кодекси END (агар) мавҷуд бошад.

Тағирдиҳӣ, сабтҳо ва майдонҳо

Тағйирёбии AWK динамикӣ; ки онҳо аввалин шуда истифода мешаванд. Арзиши онҳо рақамҳо ё хатҳои рӯшноӣ ё ҳар ду, вобаста ба он ки чӣ гуна истифода мешаванд. AWK ҳамчунин як диаграммаҳои андоза дорад; ҷадвалҳо бо андозаи гуногун метавонанд simulated. Якчанд тағирёфтаҳои қаблан муайяншуда ҳамчун барномаи иҷрошаванда; Инҳо чуноне, ки зарур аст, тавсиф карда мешаванд ва дар поён оварда мешаванд.

Сабтҳо

Одатан, сабтҳо бо аломатҳои нави алоҳида ҷудо карда мешаванд. Шумо метавонед назорат кунед, ки чӣ гуна сабтҳо бо роҳи муайян кардани арзишҳо ба тағйирёбии дохилии RS . Агар RS ягон ҳарфҳои ягона бошад, ин рақам сабтҳоро ҷудо мекунад. Дар акси ҳол, RS ба таври доимӣ ифода мекунад. Матн дар вуруде, ки ин мундариҷаи мунтазамро ба қайд мегирад, қайд мекунад. Бо вуҷуди ин, дар ҳолати мутобиқат, танҳо як аломати аввалии арзиши асбоби он барои ҷудо кардани сабтҳо истифода мешавад. Агар RS ба сатри нулпазир муқаррар карда шавад, пас сабтҳо бо хатҳои холӣ. Вақте ки RS ба сатри нофаҳмӣ таъин карда мешавад, аломати навин ҳамеша ҳамчун ҷудокунандаи майдон амал мекунад, илова бар он, ки FS дорои арзиши иловашуда мебошад.

Майдонҳо

Тавре ки ҳар як сабти вурудшавӣ хонда мешавад, гов ба қайд дар майдонҳо бо истифода аз арзиши тағйирёбии FS ҳамчун ҷудосози майдон тақсим мешавад. Агар FS аломати ягона бошад, майдонҳо бо ин хусусият ҷудо карда мешаванд. Агар FS рамзи нул бошад, ҳар як ҳарфи инфиродӣ майдони алоҳида мегардад. Дар акси ҳол, FS интихоби пурра дорад. Дар парвандаи махсусе, ки ФС як фазои ягона аст, майдонҳо аз ҷабҳаҳои ҷойҳо ва / ё ҷадвалҳо ва / ё навистаҳои нав ҷудо мешаванд. (Аммо нигаред ба муҳокимаи -, дар поён). ЭЗОҲ: Қисми IGNORECASE (ба поён нигаред) низ ба кадом соҳаҳо тақсим карда мешавад, вақте ки FS ифодаи доимӣ аст ва чӣ гуна сабтҳо ҳангоми RS ифодаи доимӣ мебошанд.

Агар варианти FIELDWIDTHS ба рӯйхати ҷудогона ҷудо карда шуда бошад, ҳар як майдон бояд васеъ карда шавад ва говҳо бо истифода аз васеъҳои муайян ҷудо карда мешавад. Арзиши FS беэътибор дониста мешавад. Таъини арзиши нав ба FS аз истифодаи FIELDWIDTHS-ро барҳам медиҳад ва рафтори оддиро барқарор мекунад.

Ҳар як майдони дар варақи вурудшавандаро аз рӯи мавқеи худ, $ 1 , $ 2 ва ғайра зикр карда метавонанд. $ 0 тамоми сабт аст. Майдонҳо бояд ба таври доимӣ ба қайд гирифта шаванд:

n = 5
$ n нусхабардорӣ кунед

феҳристи панҷумро дар сабти вурудот чоп мекунад.

Нишондодҳои NF ба шумораи умумии майдонҳо дар сабти воҳиди муқаррар карда мешавад.

Тафсилот ба соҳаҳои ғайримуқаррарӣ (яъне майдонҳои пас аз НФ ) $ -ро ташкил мекунанд. Бо вуҷуди ин, ба мавқеи ҷудошуда (масалан, $ (NF + 2) = 5 ) арзиши NF-ро афзоиш медиҳад , ҳар гуна майдонҳоро бо рамзи нулпайванд ҳамчун арзиши онҳо месозад ва арзиши $ 0 бо таклиф майдонҳо бо арзиши OFS ҷудо карда мешаванд . Маълумотҳо ба майдони манфии рақамӣ боиси хатогиҳои фавқулодда мегарданд. Бартараф кардани НФ , арзишҳои майдонҳои қадимтарини талафотро арзёбӣ мекунанд ва арзиши $ 0 бояд такрор шавад, бо соҳаҳои бо арзиши OFS ҷудо .

Таъин кардани арзиш ба майдони мавҷудбуда боиси бақайдгирии пурраи пас аз $ 0 шудааст. Ба ҳамин монанд, ба арзиши $ 0 гузоштани сабти рекламаи он, барои эҷоди арзишҳои нав дар соҳаҳо.

Тағирёбандаҳои дохилӣ

Тағйирёбандаҳои Gawk инҳоянд:

ARGC

Рақами далелҳои хаттии фармонҳо (вариантҳо барои мантиқӣ ё манбаи барнома дохил намешавад).

ARGIND

Индекс дар ARGV аз функсияи ҷорӣ.

ARGV

Намуди аргентҳои хати фармон. Рақам аз 0 то ARGC indexed - 1. Фавран тағйир додани мазмуни ARGV метавонад файлҳои барои маълумот додашударо назорат кунад.

BINMODE

Дар системаҳои ғайриманқули POSIX, истифодаи ҳарфи "binary" барои ҳамаи файлҳои I / O оварда шудааст. Арзиши рақамҳои 1, 2 ва 3, муайян мекунад, ки файлҳои воридшавӣ, файлҳои баромад ё ҳамаи файлҳо, мутаносибан, бояд дуҷониба I / O истифода шаванд. Арзиши сатри "r" , ё "w" нишон медиҳад, ки файлҳои воридшавӣ ё файлҳои баромад, мутаносибан, бояд дуҷониба I / O истифода шаванд. Арзиши сатҳии "rw" ё "пап" муайян мекунад, ки ҳамаи файлҳо бояд дуҷониба I / O истифода шаванд. Ҳама гуна арзиши дигар string, ҳамчун "rw" , балки як паёми огоҳкунанда медиҳад.

CONVFMT

Форматнокии рақамӣ барои рақамҳо, "% .6g" , бо нобаёнӣ.

ENVIRON

Як қатор, ки дорои арзишҳои муҳити имрӯз аст. Вобаста ба ин, дар якҷоягӣ бо тағйирёбии муҳити зист нишон дода мешавад, ки ҳар як унсури арзиши он тағйирёбанда аст (масалан, ENVIRON ["HOME"] метавонад / home / arnold ) бошад. Тағир додани ин асбоб ба муҳити атрофе, ки барномаро, ки тавассути ҷобаҷогузорӣ ё функсияи система () истифода мебаранд, ба таъсир намерасонад.

ERRNO

Агар хатогие, ки ҳангоми ҷустуҷӯ барои таблиги , ё дар вақти наздик () бошад , ҳангоми бозгаштан ба хатогиҳо ишора мекунад , ERRNO як сатрро ифода мекунад. Арзиш ба тарҷумаи ғайрирасмӣ дар забони англисӣ ғайримутамар аст.

FIELDWIDTHS

Рӯйхати алоҳидаи сафедпӯсти майдонҳои ҷудогона. Ҳангоми насб кардан, гов ба варақаҳои майдонҳои васеътари устувор, ба ҷои иваз кардани арзиши тағйирёбии FS ҳамчун ҷудокунии майдон.

НОМИ ПАРВАНДА

Номи файли воридшавии ҷорӣ Агар ягон файл дар сатри фармонҳо муайян карда нашуда бошад, арзиши FILENAME '' - ''. Бо вуҷуди ин, FILENAME дар дохили BEGIN Блоки тасодуфан нест (агар бо роҳи ирсоли гузориш ).

FNR

Рақами сабти вуруд дар файли ҷорӣ ворид кунед.

FS

Спартаки майдончаи майдонча, фосила бо нобаёнӣ. Нигоҳҳо, саҳроҳо .

Ирсоли сафҳа

Ҳисси ҳассосии ҳамаи ифодаи ифодаи ифодаи муқаррарӣ ва сатри идоракуниро назорат мекунад. Агар IGNORECASE арзиши ғайримутамарказ дошта бошад, он гоҳ муқоисаҳо ва намоиши рақам дар қоидаҳо, тақсимбандӣ бо FS , сабтро бо RS , ҷудошавии доимӣ бо ~ ва ! ~ , Ва gensub () , gsub () , index () , match () , split () , ва sub () функсияҳои дарунсохташуда ҳангоми дар амалиётҳои муқаррарӣ ифодаёфта ба чашм намерасанд. Эзоҳ: Нобудкунии таҳрир ба таъсир намебошад ва функсияи asort () нест .

Ҳамин тавр, агар IGNORECASE ба сифр баробар набошад, / aB / ҳамаи сутунҳои "AB" , "A" , "AB" , ва "AB" мувофиқ аст . Мисли тамоми тағйирёбии AWK, арзиши ибтидоии IGNORECASE сифр мебошад, бинобар ин ҳамаи амалҳои ифодаи ифодаи муқаррарӣ ва сатр одатан ҳассосанд. Дар Unix, маҷмӯи аломатҳои ISO 8859-1 Латин-1, ҳангоми қабул накардани парванда истифода мешавад.

LINT

Назорати динамикии парасториро аз доираи барномаи AWK таъмин менамояд. Вақте ки ҳақиқат, гов ба огоҳиҳо линзаро чоп мекунад. Ҳангоми нодуруст, ин тавр нест. Ҳангоме, ки арзиши қаторро "марговар" муайян карда мешавад , огоҳиҳои линза хатоҳои фавқулодда мегарданд, аз қабили --lint = фавт . Ҳамаи арзиши дигари ҳақиқӣ фақат огоҳиҳоро чоп мекунад.

НФ

Шумораи майдонҳо дар сабти вурудии ҷорӣ.

NR

Шумораи умумии сабтҳои воридшаванда то ҳол ба назар мерасад.

OFMT

Намуди версияро барои рақамҳо, "% .6g" , бо нобаёнӣ.

Аз СССР

Ҷудо кардани ҷудокунандаи майдон, фосила ба таври муқаррарӣ.

ORS

Ҷудо кардани ҷудокунии протокол, бо варианти нави навин.

PROCINFO

Элементҳои ин маҷмӯа дастрасӣ ба иттилоот дар бораи барномаи AWK иҷро мешаванд. Дар баъзе системаҳо дар элементҳо, гурӯҳи « 1 гурӯҳ» ба гурӯҳи « n » барои баъзе n , ки шумораи гурӯҳҳои иловагӣ, ки раванд доранд, вуҷуд доранд. Барои тафтиши ин унсурҳо дар оператор истифода кунед. Элементҳои зерин кафолат дода мешаванд:

PROCINFO ["egid"]

Арзиши зангҳои занги система (2).

PROCINFO ["euid"]

Арзиши занги система (2) занги система.

PROCINFO ["FS"]

"FS", агар майдони тақсимкунӣ бо FS иҷро шуда бошад, ё "FIELDWIDTHS" агар майдони тақсимкунӣ бо FIELDWIDTHS амал кунад.

PROCINFO ["gid"]

Арзиши занги занги система (2).

PROCINFO ["pgrpid"]

раванди гурўҳи раванди раванди ҷорӣ

PROCINFO ["pid"]

раванди раванди раванди ҷорӣ.

PROCINFO ["ppid"]

ID коркарди раванди ҷорӣ.

PROCINFO ["uid"]

Арзиши зангҳои занг ба занги дастрасӣ (2).

RS

Сиёҳнависи сабти вуруд, бо варианти нави навин.

RT

Натиҷаи сабти. Гов ба RT ба матни воридшавӣ, ки хусусият ё изҳори мунтазамро, ки аз ҷониби RS муайян шудааст, муқаррар мекунад.

RSTART

Индекси симои ибтидоӣ бо match () ; 0 агар не. (Ин нишон медиҳад, ки индекси хоси худро дар якум оғоз мекунад.)

НОҲИЯИ МУЪМИНОБОД

Дарозии сатри бо match () ; -1 агар ягон мусобиқа набошад.

SUBSEP

Хусусиятҳое, ки барои ҷудо кардани алифбоҳои яктарафа дар унсурҳои асбобӣ истифода мешаванд, ба тариқи "034" .

ТЕКТДОМА

Мазмуни матнии барномаи AWK; барои дарёфти тарҷумаҳои маҳаллии барои нақшаҳои барнома истифодашуда истифода мешуд.

Намудҳо

Дискҳо бо ифодаи мафҳумҳои мураббаъ ( [ ва ]] пур карда мешаванд . Агар ифодаи рӯйхати ифодаи экспресс ( expr , expr ...) бошад, сатри асб ҳамчун як сатри иборат аз контексти арзиши (string) ҳар як баён, ки бо арзиши тағйирёбии SUBSEP ҷудо мешавад. Ин иншоот барои тақвият додани силсилаҳои васеътар истифода бурда мешавад. Барои намуна:

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

воҳиди "hello, world \ n" ба унсури адад x, ки аз тарафи сатри "A \ 034B \ 034C" оварда шудааст . Ҳамаи асбобҳо дар AWK ассотсиатсия мебошанд, яъне аз рӯи арзиши string.

Хусусияти оператор дар ҳолате, ки агар ё дар ҳоле ки баёнот барои дидани он, ки асбоби дорои нишондиҳанда иборат аз арзиши махсус истифода шавад, истифода бурда мешавад.

Агар (асбоби андоза) варақаи чопӣ [

Агар воҳид дорои якчанд зерфаслиҳо бошад, дар маҷмӯа (i, j) истифода кунед .

Дар сохтмон низ метавонад дар як давр истифода шавад, то ҳамаи унсурҳои асбро такмил диҳад.

Элемент метавонад аз як сатр бо истифода аз калимаи рамзи тоза карда шавад . Изҳороти нобудкунӣ низ метавонад барои нест кардани ҳамаи мундариҷаҳои ҷадвал, танҳо бо нишон додани номи асал бе зеркашӣ истифода шавад.

Навъи тағйир ва табдилдиҳӣ

Тағирёбандаҳо ва майдонҳо метавонанд (рақами шинокунанда), ё хатҳои, ё ҳар ду бошанд. То чӣ андоза арзиши як аломати тасвир аз он вобаста аст, вобаста аст. Агар дар ибораи рақамӣ истифода шуда бошад, он ҳамчун рақам ба ҳисоб меравад, агар он ҳамчун асб ҳамчун як сатр истифода шавад.

Барои маҷбур кардани тағироте, ки ба рақам баробар карда шудааст, илова карда шавад; барои маҷбур кардани он ҳамчун як сатри якҷоя истифода карда мешавад, онро бо сатри нулпайкарата мутобиқ кунед.

Вақте ки як сатр ба рақам табдил дода мешавад, табдил ба воситаи strtod (3) анҷом дода мешавад. Рақам бо истифода аз арзиши CONVFMT ҳамчун рамзи формати барои sprintf (3), бо арзиши рақамии ин параметр ҳамчун argument ба рақам табдил меёбад. Бо вуҷуди он, ки ҳамаи рақамҳо дар AWK сатҳи пажӯҳишҳо, арзишҳои интегралӣ ҳамеша чун ҳосаротанд. Ҳамин тавр, дода шудааст

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

$ B) $ B); $ C) ;

Гов дар муқоиса бо инҳо нишон медиҳад: Агар ду қобилияти рақамӣ рақамӣ бошанд, онҳо рақамӣ карда мешаванд. Агар ягон арзиш рақамӣ бошад, ва дигаре дорои арзиши string аст, ки "string string" мебошад, муқоиса низ рақамӣ карда мешавад. Дар акси ҳол, арзиши рақамӣ ба сатр табдил меёбад ва муқоисаи сатр иҷро карда мешавад. Ду қадам ба муқоиса, албатта, ҳамчун сутунҳо. Дар хотир доред, ки стандарти POSIX мафҳуми «рақамии рақамӣ» -ро дар ҳама ҷойҳо, ҳатто ба сатри сатр истифода мекунад. Бо вуҷуди ин, ин албатта нодуруст аст ва гов ба ин кор намеояд. (Натиҷа, ин дар версияи навбатӣ муқаррар карда мешавад.)

Дар хотир доред, ки сатри доимӣ, ба монанди "57" , рақамҳои рақамӣ нестанд , онҳо доимии сатр мебошанд. Масъалаи "string string" танҳо барои майдонҳо, вурудоти интиқол, FILENAME, элементҳои ARGV, элементҳои ENVIRON ва элементҳое, ки бо тақсимоти () рақами тартибии рақамӣ сохта шудаанд, истифода мешаванд. Далели асосӣ он аст, ки вурудоти корбарон ва танҳо вурудоти корбар, ки рақами рақамро назар мекунанд, бояд ин тавр муносибат кунанд.

Тағйирёбандаҳои беэътибор ба арзиши рақамӣ 0 ва арзиши string "" (нохун, холӣ, сатр) доранд.

Истиќлолияти мўътадил ва гепатитї

Дар оғоз аз нусхаи 3.1 аз гавҳар, шумо метавонед сабтҳои C-сабти сенсорӣ ва доимӣ дар коди сарчашмаи барномавии AWK истифода кунед. Масалан, арзиши сентябри 011 ба даҳнафта баробар аст ва арзиши ҳиссаи 0x11 ба даҳӣ баробар аст.

Истилоҳоти фишурда

Сабтҳои сатр дар AWK пайдарҳамии аломатҳоеро дар бар мегиранд, ки дар байни нохунакҳои дуддодашуда ( " ) мебошанд. Дар қаторҳо, пайдарҳамҳои муайяни гурезаҳо , чунон ки дар К ° эътироф шудаанд, инҳоянд:

\\

Бозгашт

Бояд гуфт

Нигоҳ доштани "ҳушдор"; одатан рамзи ASCII BEL.

b

баргашт.

\ f

шакли хўрока

\ n

нависед.

Бештар

баргаштан.

\ t

ҷадвали уфуқӣ.

\ v

ҷадвали амудӣ.

Ҳуҷраҳои ҲХД

Хусусияте, ки аз рӯи сатрҳои рақамҳои ҳиссагузории зерин пас аз \ x . Тавре ки ANSIC ҳамаи рақамҳои гимнастикӣ қисми ҷудонашаванда ҳисобида мешавад. (Ин функсия бояд дар бораи тарҷумаи тарҷума аз ҷониби кумита ба мо нақл кунад.) Мисол , "\ x1B" аломати ASCIIESC (escape) аст.

\ ddd

Хусусиятҳое, ки аз тарафи якум, 2- ё 3-рақами ададҳои даҳонӣ нишон дода шудаанд. Мисол, "\ 033" аломати ASCII ESC (escape) аст.

Савол:

Хусусияти аслӣ c .

Сатҳҳои фирорӣ низ метавонанд дар дохили доираҳои мунтазам истифода шаванд (масалан, / [\ t \ f \ n \ r \ v] / аломатҳои чуқурӣ).

Дар ҳолати мутобиқатӣ, ҳарфҳое, ки аз рӯи сақфҳои окклюлӣ ва гимнастикӣ тасвир шудаанд, дар вақти доимии доимӣ истифода мешаванд. Ҳамин тариқ, / a / 52b / баробар ба / a \ * b / .

Намунаҳо ва амалҳо

AWK забони лотинӣ аст. Намунаи аввал, ва сипас амал. Ҳисоботи амалӣ дар { ва } ҳамроҳ карда шудаанд . Ё ин намунаро гум кардан мумкин аст, ё амал метавонад нопадид шавад, аммо, албатта, ҳам ҳам нест. Агар намунаи номуайян хато бошад, амал барои ҳар як сабти вуруд ба амал меояд. Фаъолияти нопурра баробар аст

{чоп}

ки тамоми сабтро чоп мекунад.

Шарҳҳо бо аломати "# #" оғоз карда, то охири сатр давом диҳед. Роҳҳои бланка метавонанд ба қисмҳои алоҳида истифода шаванд. Одатан, изҳорот бо навиштани хотира тамом мекунад, аммо ин ҳолат барои хатҳои хотимавӣ дар "", " { ? , : && , ё || . Лавҳҳои дар охири кор анҷомдодашуда ё дигар изҳороти онҳо дар хати минбаъда идома доранд. Дар ҳолатҳои дигар, бо роҳи хотима додан бо хати доимӣ давом дода мешавад, ки дар он ҳолат навъҳои нав қатъ карда мешаванд.

Ҳисобҳои мултимедиявӣ метавонанд ба як сатр дода шаванд, ки онҳоро бо ";" "ҷудо кунанд. Ин ба ҳар ду гузоришҳо дар доираи амалҳои ҷуфти ҷисмонӣ (парвандаи оддии), ва ба шакли изҳороти амалии худ дахл дорад.

Намудҳо

Намунаҳои AWK метавонанд яке аз инҳоро дошта бошанд:

BEGIN END / ифодаи мунтазам / намунаи изҳори баёнӣ ва намунаи тасвир || намунаи намунавӣ ? намуна : намунаи ( намунаи ) ! намунаи мис

BEGIN ва END ду намуди махсус доранд, ки бар муқобили воридшавӣ санҷида намешаванд. Қисмҳои амалии ҳамаи намудҳои BEGIN ҳамчун як тасвири он, ки ҳамаи изҳоротҳо дар як блоги ягона навишта шудаанд. Пеш аз он, ки ҳар як хонда хонда мешавад, иҷро мешаванд. Ҳамин тавр, ҳамаи блокҳои END якҷоя мешаванд ва вақте ки ҳамаи вурудот хомӯш мешавад (ё вақте ки ҳисоботи баромадан иҷро карда мешавад). Намудҳои BEGIN ва END наметавонанд бо дигар намудҳо дар форматҳои тасвирӣ ҳамроҳ карда шаванд. Намудҳои BEGIN ва END наметавонанд қисмҳои амалро аз даст надиҳанд.

Барои / изҳори баён / доимӣ , баёнияи алоқаманд барои ҳар як воҳиди вурудие, ки изҳори мунтазам мувофиқ аст, иҷро карда мешавад. Муносибатҳои мунтазам ба монанди онҳое, ки дар мисоли (1) мебошанд, дар поён оварда шудаанд.

Эъломияи изофӣ метавонад ҳар яке аз операторҳои дар поён овардашуда дар қисмҳо амал кунад. Инҳо умуман санҷида мешаванд, ки кадом соҳаҳоро муайян мекунанд.

&& , || , ва ! операторҳо мантиқӣ ва мантиқи мантиқӣ, мантиқи мантиқӣ ва мантиқи мантиқӣ мебошанд, ки дар Ҷ. Кори онҳо баҳодиҳии кӯтоҳмуддат, инчунин дар C, истифода мешаванд ва барои якҷоя кардани ифодаҳои намунавии ибтидоӣ истифода мешаванд. Дар бисёр забонҳо, қуттиҳо метавонанд иваз кардани тартиботи баҳодиҳӣ истифода шаванд.

Дар : оператори ба монанди ҳамон оператори C дар як шабонарӯз аст. Агар намунаи якум рост бошад, намунаи барои санҷиш истифодашаванда намунаи дуюм аст, агар ин сеюм бошад. Танҳо яке аз намунаҳои дуюм ва сеюм баҳогузорӣ карда мешавад.

Намунаи1 , формати формати формати формати намуди тақсимот номида мешавад. Он ҳамаи сабтҳои воридшударо бо оғози сабуке , ки ба услуби 1 мувофиқат мекунад ва давомнокии сабтеро , Ин ягон намуди намунаи тасвирро дар бар намегирад.

Роҳнамои мунтазам

Эзоҳҳои мунтазам аз намуди васеътаре иборатанд . Онҳо аз ҳарфҳои зерин иборатанд:

$ C) Ҳуқуқи инсон;

воҳиди ғайриэътимод c ;

Савол:

воҳиди функсияҳои функсионалӣ c .

.

Ҳама аломатҳои нав, аз ҷумла нависед.

КМ КПСС

ба оғози сатр мувофиқат мекунад.

$

ба охири сатр мувофиқ аст.

[ abc ... ]

Рӯйхати аломатҳо, мувофиқати ҳар як аломати ABC ....

[^ abc ... ]

Рӯйхати аломатҳо нодуруст, мувофиқати ҳар як хусусият, ғайр аз abc ....

Р1 | r2

алтернативӣ: ҳамоҳангии r1 ё r2 .

Р1r2

Ҷамъбастӣ: match r1 , ва then r2 .

r +

як ё якчанд r 'баробар.

Р *

Нишон диҳед, ки сифр ё бештар r

Р ?

ба сифр ё як ранг баробар аст.

( r )

Гурӯҳ

r { n }

r { n ,}

r { n , m } Як ё ду рақам дар дохили равзанаи изофӣ ифода мекунад . Агар дар як аломатҳо як адад бошад, нишонаи қаблан муқаррарӣ n-ро такрор мекунад. Агар ду рақам аз тарафи верма ҷудо карда шавад, r n-ро такрор мекунад. Агар як рақам пас аз як вергул вуҷуд дошта бошад, пас аз ҳадди аққал давраҳо р такрор мешаванд.

Эзоҳҳои фосилавӣ фақат танҳо мавҷуданд, агар either - ё фарқият дар сатри фармон муайян карда шавад.

Бештар

ба сатри холӣ дар ибтидо ё охири калима мувофиқат мекунад.

Б.

калимаи холӣ дар як калима.

МУХАББАТ

дар ибтидои калима бо сатри холӣ мувофиқат мекунад.

Данд

Дар охири калима сатрҳои холӣ ба ҳам меоянд.

\ w

ҳар гуна ҳарфҳои калидӣ (ҳарф, рақам, ё сатр) мувофиқ аст.

В

ягон аломати номаълуме нест.

МУҲАББАТ

ба сатри холӣ дар оғози адаптизат (сатр) мувофиқ аст.

''

ба охири замима, сатри хати мувофиқат мекунад.

Намудҳои пайдошуда, ки дар доираҳои сатр эътибор доранд (дар зер нигаред) низ дар изҳороти мунтазам эътибор доранд.

Синфҳои тасвирӣ хусусияти наве, ки дар стандарти POSIX муҷаҳҳаз шудаанд. Сатҳи характеристикаи махсус барои тасвир кардани рамзҳои аломатҳое, ки дорои хосиятҳои мушаххас мебошанд, аммо дар куҷо аломатҳои аслӣ метавонанд аз кишвар ба кишвар ва / ё аз ҳарфи муқаррарӣ ба маҷмӯи аломат фарқ кунанд. Масалан, тасаввуроти алифбои алифбо дар ИМА ва Фаронса фарқ мекунад.

Синфҳои хоси танҳо дар як изҳороти мунтазам дар дохили қуттиҳои рӯйхати функсия рост меояд. Синфҳои тасвирӣ аз [[:] , калимаи калидро ифода мекунанд, ва синну сол :] . Сатҳҳои аломатӣ, ки аз тарафи стандарти POSIX муайян шудаанд, инҳоянд:

[: alnum:]

Аломатҳои алоҳида.

[: alpha:]

Аломатҳои алифбо.

[: blank:]

Аломатҳои фосила ё тасма.

[: cntrl:]

Хусусиятҳои назорати.

[: рақами:]

Рақамҳои рақамӣ.

[: график:]

Хусусиятҳое, ки ҳам чопшуда ва ҳам намоёнанд. (Фосила чопаш бошад, вале намоён набошад, дар ҳоле, ки он ду аст.)

[: lower:]

Аломатҳои alphabetic lower-case.

[: print:]

Ҳарфҳои чопӣ (аломатҳое, ки аломатҳоро назорат намекунанд).

[: punct:]

Рамзҳои пинҳонкунӣ (аломатҳое, ки номуайян нестанд, рақамҳо, аломатҳои назорат ё функсияҳои фосилавӣ).

[: фосила:]

Хусусиятҳои фосила (масалан, фосила, ҷадвали ва формула, якчанд ном).

[: боло:]

Аломатҳои алифбои болоӣ.

[: xdigit:]

Хусусиятҳое, ки рақами даҳшатовар доранд.

Масалан, пеш аз он ки стандарти POSIX, ба рақамҳои алифбои рақамӣ, шумо бояд нависед / [A-Za-z0-9] / . Агар маҷмӯи рамзҳои шумо аломатҳои дигар алифбоиро дошта бошанд, ин ба онҳо мувофиқат намекунад, ва агар тасвири шумо аз ASCII фарқ кунад, ин ҳатто ба ҳарфҳои ASCII алифбои рақамӣ мувофиқат намекунад. Бо синфҳои POSIX, шумо метавонед / [[: alnum:]] нависед, ва ин аломатҳои алифбои ва рақамиро дар маҷмӯи аломатҳо меноманд .

Рӯйхати аломатҳо ду пайдарпаии махсуси иловагӣ пайдо карда метавонанд. Инҳо ба маҷмӯаҳои ғайридавлати ASCII татбиқ мешаванд, ки метавонанд рамзҳои ягона ( унвонҳои коллекторӣ номида шаванд ), ки бо зиёда аз як аломат, инчунин якчанд аломатҳо, ки барои ҷамъоварӣ ё фарқ кардани мақсадҳо баробаранд, баробаранд. (Масалан, дар Фаронс, "с" ва "e" -ҳои актсептивӣ баробаранд.)

Ҷамъ кардани символҳо

Нишондиҳандаи ранги як унсури фишурдашуда дар якҷоягӣ дар [. ва ] . Масалан, агар ch як унсури collating, сипас [[.ch] ифодаи мунтазам, ки ин элементро дар бар мегирад, дар [ch] ифодаи доимӣ, ки бо C ё h баробар аст .

Сатҳи Equivalence

Сатҳи синтези номгӯи мушаххаси номгӯи аломатҳоест, ки баробаранд. Ном дар [[ and =]] замима мешавад. Масалан, номи e метавонад барои намояндагӣ кардани ҳамаи '`e,' '` e', '' 'ва' e`. '' Дар ин ҳолат, [[= e =]] ифодаи мунтазам аст, ҳама гуна e , e ё e .

Ин хусусиятҳо дар маҳаллҳои ғайрипайваста ба забони англисӣ хеле арзишманданд. Функсияҳои китобхонае, ки гов барои мундариҷаи мунтазам истифода мебаранд, танҳо дар айни замон дараҷаи хоси POSIX эътироф шудааст; онҳо рамзҳои рамзӣ ё синфҳои баробарро эътироф намекунанд.

Инҳоянд , ки шумо ба онҳо пайравӣ кардаед . онҳо дар асоси муассисаҳо дар китобхонаҳои доимии GNU васеъ мебошанд.

Параметрҳои гуногуни фармонҳои фармонро назорат мекунанд, ки чӣ тавр говҳо аломатҳои доимӣ меорад.

Ҳеҷ гуна имконот вуҷуд надорад

Дар сурати пешфарзӣ, гов ба ҳамаи иншоотҳои ибтидоии доимии POSIX ва операторҳои доимии GNU -ро дар боло тасвир мекунад. Бо вуҷуди ин, изҳороти фосилавӣ дастгирӣ карда намешаванд.

- фармоиш

Танҳо доираҳои доимии POSIX дастгирӣ карда мешаванд, операторҳои GNU махсус надоранд. (Eg, \ w бо як воҳаи мувофиқ). Эзоҳҳои фосилавӣ иҷозат дода мешаванд.

- фарогирӣ

Unix-и анъанавии анъанавӣ мувофиқат мекунад. Операторҳои GNU махсус нестанд, ифодаҳои фосилавӣ мавҷуд нестанд ва синфҳои POSIX низ нестанд ( [[: alnum:]] ва ғайра). Хусусиятҳое, ки бо пайдарҳамии сақфҳои окклюлӣ ва гимнастикӣ тасвир шудаанд, маънои онро доранд, ки ҳатто методҳои алоҳида нишон медиҳанд.

- фароғат

Эзоҳҳои фосилавӣ дар ифодаҳои муқаррарӣ, ҳатто агар " -таъминкунӣ таъмин карда шавад.

Амалиётҳо

Ҳисобҳои амалҳо дар фронтҳо, { ва } ҷойгир шудаанд . Ҳисоботҳои амалҳо аз таъйиноти муқаррарӣ, шартҳои шартӣ ва даврии дар аксари забонҳо мавҷудбуда мебошанд. Операторҳо, изҳороти назорат ва баровардани изҳоротҳои даромад ва баромад пас аз онҳое, ки дар C.

Операторҳо

Операторҳо дар AWK, бо сабаби камшавии афзалият, инҳоянд:

( ... )

Гурӯҳбандӣ

$

Таҳсили майдонҳо.

++ -

Пешгуфтор ва коҳиш, ҳам префикс ва платформа.

КМ КПСС

Шарҳбандӣ ( ** инчунин метавонад истифода шавад ва ** = барои оператори таъини).

+ -!

Unary plus, нусхабардорӣ ва ғайри мантиқӣ.

* /%

Миқдор, тақсим ва модул.

+ -

Илова ва тақсимот.

фазо

Ҳамин тавр,

<>

<=> =

! = == Операторони мунтазами мунтазам.

~ ~ ~

Фосилаи мунтазами изофӣ, матни номатлуб. Эзоҳ: Дар як тарафи чапи ~ ~ ё ~ ифодаи доимӣ ( / foo / ) истифода накунед. Танҳо як тарафи ростро истифода баред. Эзоҳ / foo / ~ exp , ҳамон маънии монанди ($ 0 ~ / foo /) ~ exp ) дорад . Ин маъмулан на он чизест, ки пешбинӣ шудааст.

Дар

Аъзои ассотсиатсия.

&&

Ва мантиқ ва.

Ойини мадоро

Ё мантики мантиқӣ.

?:

Эзоҳии шартии C. Ин формат дорад ? Бештар Агар expr1 рост бошад, арзиши ифодаи expr2 , вагарна он expr3 аст . Танҳо яке аз expr2 ва expr3 баҳогузорӣ карда мешавад.

= + = - =

* = / =% = ^ = Таъин. Ҳар ду вазифаи мутлақ ( var = арзиши ) ва супоришдиҳандаи оператор (шакли дигар) дастгирӣ карда мешавад.

Изҳороти назорат

Ҳисоботи назоратӣ инҳоянд:

(агар ) шартномаи ( декларатсия ) ] [ дигар баёнот ] ҳангоми шарти ( ҳолати ) изҳорот дар бораи ( ҳолати ) барои ( expr1 ; expr2 ; expr3 ) баёнот

I / O Statements

Тавсифи воридот ва баромадҳо инҳоянд:

Close ( file [ , ки ] )

Пӯшидани файл, қубур ё ҳамоҳангӣ. Ҳангоми баста шудани як қатор қубурҳои дуҷониба ба ҳамоҳангӣ бояд чӣ гуна бояд интихоб карда шавад. Он бояд арзиши string, "ба" ё "аз" бошад .

дастгоҳ

$ 0 аз сабти навбатӣ; NF , NR , FNR-ро интихоб кунед .

getline < file

$ 0 аз сабти навбатии файл ; НФ .

барвақт

Ворид аз сабти навбатӣ; НОҲИЯИ ФИНҶ

getline var < file

Аз сабтоти навбатӣ файл бароред .

фармоиш | баста [ bar ]

Фармони фармонро ба кор даровардани $ 0 ё var , ба боло дар боло.

фармони | & getline [ var ]

Фармонро ҳамчун як раванди ҳамоҳангкунӣ баровардан ба $ 0 ё var , дар боло,. Равандҳои коэффитсиенти тақвими говҳо мебошанд.

Баъдӣ

Қатъи коркарди сабти ҷорӣ. Рӯйхати навбатии воридшавӣ хонда мешавад ва коркард бо намунаи якум дар барномаи AWK оғоз меёбад. Агар охири маълумотҳо ба даст оварда шуда бошад, END блок (агар) иҷро карда мешавад.

nextfile

Қатъи коркарди файли ҷорӣ вуҷуд дорад. Ҳангоми навиштани навъи вуруд аз файли навбатӣ меояд. FILENAME ва ARGIND навсозӣ шудаанд, FNR ба 1 тааллуқ дорад ва коркард бо намунаи якум дар барномаи AWK оғоз меёбад. Агар охири маълумотҳо ба даст оварда шуда бошад, END блок (агар) иҷро карда мешавад.

чоп кунед

Сабти ҷорӣ. Рӯйхати баромадҳо бо арзиши ORS тағйир ёфт.

чопи рӯйхат

Эзоҳҳо чоп мекунанд. Ҳар як изҳорот бо арзиши тағйирёбандаи OFS ҷудо карда мешавад. Рӯйхати баромадҳо бо арзиши ORS тағйир ёфт.

print expr- > файл

Эзоҳҳо дар файл . Ҳар як изҳорот бо арзиши тағйирёбандаи OFS ҷудо карда мешавад. Рӯйхати баромадҳо бо арзиши ORS тағйир ёфтааст.

fmt printf , феҳристи рӯйхат

Формат ва чоп.

printf fmt, expr-list > файл

Формат ва чоп дар файли .

системаи ( смс-хат )

Хати cmd- фармонро иҷро кунед ва ҳолати баромаданро баргардонед. (Ин метавонад дар системаҳои ғайриманқули POSIX дастрас бошад.)

fflush ( [ файл ] )

Ҳамагияшро бо варақаи баромади кушода ё файлҳои қубур алоқаманд кунед . Агар файл нодуруст бошад, он гоҳ маҳсулотҳои стандартӣ тоза карда мешаванд. Агар файл рамзи нул бошад, пас ҳамаи файлҳои баромад ва қубурҳо кушода мешаванд.

Интиқоли иловагӣ барои чоп ва чопгар иҷозат дода мешавад .

print ... >> файл

ба файл файли иловагӣ медиҳад.

чоп кунед ... | фармоиш

дар як қубур менависад.

чоп кунед ... & фармон

маълумотро ба ҳамоҳангӣ мефиристад.

Фармони фармоишӣ 0 дар охири файл ва -1 дар хатогӣ бар хоҳад гашт. Ҳангоми хатогӣ, ERRNO як сатрро тасвир мекунад, ки ин масъаларо дар бар мегирад.

Эзоҳ: Агар истифодабарии қубур ё ҳамоҳангӣ барои қабул ё аз чоп ё чопгар дар дохили тугма , шумо бояд () истифода баред, ки сабабҳои нави фармони. AWK ба таври худкор қубурҳо ё ҳамоҳангсозиро вақте ки онҳо баргаштаанд, қатъ карда наметавонанд.

Изҳороти чопӣ

Модулҳои AWK-и чопии printf ва функсияи ( sprintf () функсия (ба поён нигаред) форматҳои тасвироти муодили зеринро қабул мекунанд:

% c

ASCII аломати. Агар далели барои % c истифода шуда бошад, он ҳамчун аломат ва чоп карда мешавад. Дар акси ҳол, argument як қатор мешавад, ва аломати якум будани он сатр чоп карда мешавад.

% d , % i

Рақами даҳӣ (қисми қисми).

% e,% E

Рақами нусхаи шаклии форма [[]] d.dddddde [+ -] dd . Формати E% E ба ҷои e истифода мешавад .

% f

Шумораи нуқтаи рӯизаминии формат [[]] ddd.dddddd .

% g,% G

Истифодабарии % e ё % f-ро истифода баред, ки ҳар вақте ки кӯтоҳтар аст, бо нолозимоти ношоям нопадид мешавад. Формати % G дар % E ба ҷои % e истифода мекунад .

% o

Рақами нефти номаълум (инчунин як адад).

% u Рақамҳои даҳии таснифшуда (боз, integer).

% s

String string

% x,% X

Рақами таснифшудаи таснифот (як адад). Формати % X ба ҷои ABCDEF instead of abcdef истифода мебарад.

%%

Як аломати ягона; ҳеҷ як далели тағйир дода намешавад.

Параметрҳои иловагӣ ва иловагӣ метавонанд байни % ва ҳуччати назорат бошанд:

$ count

Намуди ҳисобро дар ин нуқта дар форматкунӣ истифода кунед. Ин инъикоси мавқеи номида номида мешавад ва пеш аз ҳама барои истифода дар тарҷумаҳои тарҷумаи форматҳои тарҷума, на дар матни аслии барномаи AWK пешбинӣ шудааст. Ин як паҳншавии шифобахш аст .

- ба

Эълон бояд дар дохили худ сафед карда шавад.

фазо

Барои табдилоти рақамӣ, арзёбии арзишҳои мусбӣ бо фосила ва арзишҳои манфӣ бо аломати манфӣ.

+

Аломати иловагӣ, ки пеш аз тағирдиҳандаи васеъ истифода шудааст (ба поён нигаред), мегӯяд, ки ҳамеша ҳамеша аломати тағйироти рақамиро медиҳад, ҳатто агар маълумоте, ки формат карда шавад, мусбат аст. + + Тағйирдиҳандаи фосила бароред.

# Аст

Истифодаи "алтернативаи дигар" барои ҳарфҳои муайяни назорат. Барои % o , як сифрро пешкаш кунед. Барои % x ва % X , 0x ё 0X-ро барои натиҷаҳои ғайриинсонӣ пешниҳод кунед. Барои % e , % E ва % f , натиҷа ҳамеша нуқтаи даҳиро дар бар мегирад. Барои % g , ва % G , нусхабардорӣ аз натиҷаи он нест карда намешавад.

0

Пешакии 0 (сифр) ҳамчун парчам, ки нишон медиҳад, ки маҳсулот бояд бо сифрҳо ба ҷои фазо ҷойгир бошад. Ин ҳатто ба форматҳои нопурраи рақамӣ дахл дорад. Ин байрақ танҳо вақте ки паҳншавии майдаро аз арзиши чопӣ васеътар аст, таъсир мерасонад.

васеъ

Соҳа бояд ба ин паҳнгашт пажмурда шавад. Майдон одатан бо ҷойи фазо. Агар параметр истифода шавад, он бо сифр баробар аст.

. ш

Рақамеро, ки ҳангоми чопкунӣ истифода мешавад, муайян мекунад. Барои % e , % E , ва % f форматҳо, ин рақами рақамро, ки шумо мехоҳед ба тарафи рости даҳӣ чоп кунед, муайян мекунад. Барои % g ва % G форматҳо, ин рақами ниҳоии рақамҳои назаррасро муайян мекунад. Барои % d , % o , % i , % u , % x ва формати X , он рақами минималии шумораи чопҳоро чоп мекунад. Барои % s , он миқдори максималии аломатҳоро аз сатр, ки бояд чоп карда шавад, муайян мекунад.

Дараҷаи динамикӣ ва имкони пешгӯиҳои реаксияи ANSI C printf () дастгирӣ карда мешаванд. A * дар ҷои аз ҳама паҳлӯҳо ё мушаххасоти параметрҳо арзиши худро аз рӯйхати баҳр ба чоп printf ё sprintf () истифода мебаранд . Барои истифода бурдани нишондиҳандаи мавқеӣ бо васеъ ё дақиқияти динамикӣ, рақами $ пас аз * дар формати формат. Масалан, "% 3 $ * 2 $. * 1 $ s" .

Номҳои махсуси файлҳо

Вақте, ки I / O redirection аз чоп ё printf ба файл, ё ба воситаи фармоиш аз файли, гов ҳуҷҷатҳои махсуси махсусро дар дохили худ эътироф мекунад. Ин файлҳо имконияти дастрасӣ ба тасвирҳои кушодани файлҳо, ки аз раванди волидайнаши Гари бадал шудаанд (одатан ниҳонӣ). Ин номҳои файл низ дар хати фармон низ барои номи файлҳои маълумот истифода мешаванд. Номи файлҳо:

/ dev / stdin

Вуруди стандартӣ.

/ dev / stdout

Натиҷаи стандартӣ.

/ dev / stderr

Натиҷаи хатои стандартӣ.

/ dev / fd / n

Файле, ки бо файли файли кушода кушода шудааст.

Инҳо барои хабарҳои хато муфиданд. Барои намуна:

чоп кунед "Шумо онро куштед!" > "/ dev / stderr"

дар ҳоле, ки шумо бояд дигар истифода шавад

чоп кунед "Шумо онро куштед!" Бештар "cat 1" & 2 "

Файлҳои махсуси зерин метавонанд бо оператори & координатори ҳамоҳанг барои таъсис додани пайвастҳои шабакавии TCP / IP истифода шаванд.

/ inet / tcp / lport / rhost / rport

Файлро барои пайвастшавии TCP / IP дар лотини маҳаллӣ ба дурнамои дурдасти дурдаст дар рапортҳои дурдасти дурдаст. Порчаи 0 -ро истифода кунед, ки система портро интихоб кунад.

/ inet / udp / lport / rhost / rport

Ба ҳамин монанд, аммо ба ҷои TCP / IP UDP / IP истифода баред.

/ inet / raw / lport / rhost / rport

Истифодаи минбаъдаи истифодашаванда.

Дигар файлҳои махсус дастрасӣ ба иттилоотро дар бораи раванди ҷустуҷӯӣ таъмин мекунанд. Ин файлҳо ҳоло корношоям шудаанд. Асбоби PROCINFO -ро барои гирифтани маълумоте, ки онҳо пешниҳод мекунанд, истифода баред. Номи файлҳо:

/ dev / pid

Ин файл файли ID-и раванди ҷориро, ки бо даҳӣ барпо шудааст, бар мегардонад.

/ dev / ppid

Ин файл файли ID-и раванди ҷориро, дар даҳӣ, бо хати нав ба охир расонад.

/ dev / pgrpid

Хондани ин файли ID-и кории раванди ҷорӣ, дар даҳӣ бо қатъномаи нав.

/ dev / user

Ин файл файли ягонаро бо навишти барҳамдодашуда бар мегардонад. Майдонҳо бо ҷойҳо ҷудо карда мешаванд. $ 1 арзиши занги занги дуоград (2) аст, $ 2 арзиши занги система (2) занги системавиро дорад, $ 3 арзиши занги системавии getgid (2) ва 4 $ арзиши таблиғ (2) занги система. Агар ягон майдонҳои иловагӣ вуҷуд дошта бошанд, онҳо ID- ҳоҳое , ки аз ҷониби гурӯҳҳо баргардонида шудаанд (2). Гурӯҳҳои гуногун метавонанд ҳамаи системаҳо дастгирӣ карда шаванд.

Функсияҳои рақамӣ

AWK дорои функсияҳои арифметикии зерин мебошад:

atan2 ( y , x )

Радионҳоро аз навтарини y / x бармегардонад .

cos ( expr )

Бозгашти expr , ки дар радион аст.

вироиш ( expr )

Функсияҳои экспонатӣ.

int ( expr )

Тозиш ба том.

сабт ( expr )

Функсияи logarithm natural.

rand ()

Рақами тасодуфиро байни 0 ва 1 бар мегардонад.

гуноҳ ( expr )

Равғани экпр , ки дар радион аст, бармегардад.

sqrt ( expr )

Функсияи root square.

srand ( [ expr ] )

Истифодаи тухмии нав барои насби рақамии тасодуфӣ. Агар ягон экспедит пешниҳод карда нашавад, вақти истифодашаванда истифода мешавад. Арзиши барқ ​​- тухмии қаблӣ барои генератор рақамӣ мебошад.

Функсияҳои қаторӣ

Гавк вазифаҳои дарунсохти зеринро дар бар мегирад:

asort ( s [ , d ] )

Рақамҳои элементҳоро дар диверсики манбаъ бар мегардонад. Мундариҷа бо истифодаи қоидаҳои оддии гавр барои муқоиса кардани арзишҳо муайян карда мешавад, ва нишондиҳандаҳои арзиши ҷудогии сутунҳо бо ададҳои ҷудошуда аз якҷоягӣ иваз карда мешаванд. Агар воҳиди воҳиди таъинотии ванна муқаррар карда шавад, пас s аввалтар ба D , ва он гоҳ d карда мешавад, ки индексҳои пайдарпаии сарчашма тағйир наёфтааст.

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

Тугмаҳои мақсадиро барои матнҳои ифодаи муқаррарӣ ҷустуҷӯ кунед r . Агар h як сарлавҳаро бо g ё G оғоз кунад , баъд ҳамаи рангҳоро бо s гузаронед . Дар акси ҳол, h як рақамро нишон медиҳад, ки матнро иваз мекунад. Агар t дода нашавад, ба ҷои $ 0 истифода мешавад. Дар доираи матни иваз кардан, пайдарпаии \ n , ки дар он n аз як рақам аз 1 то 9 истифода мешавад, танҳо нишон дода мешавад, ки танҳо матне, ки матнро дар бар мегирад. Силсилаи \ 0 0 матни ҳамоҳангшударо нишон медиҳад, ки ин хусусият аст. Баръакси sub () ва gsub () , сатри тағйирёфта дар натиҷаи функсия баргардонида мешавад ва ранги аслии тағирот тағйир наёфтааст.

gsub ( r , s [ , t ] )

Барои ҳар як зеристифода кардан ифодаи муқаррариро дар силсилаи t , иваз кардани сутунро иваз кунед ва рақами ивазкуниро баргардонед. Агар t дода намешавад, $ 0 истифода баред. & Матни ивазшуда бо матн, ки воқеан мувофиқ буд, иваз карда шуд. Истифода \ & ба даст овардани қимати & . Барои ин бояд ба "\\ &" чоп карда шавад; ба GAWK: Барномасозии самараноки AWK барои муҳокимаи пурраи қоидаҳо барои & феҳристҳо дар матни ивази sub () , gsub () ва gensub () .

индекс ( s , t )

Индекси адади t дар силсилаи s , ё 0 агар мавҷуд нест. (Ин нишон медиҳад, ки индекси хоси худро дар якум оғоз мекунад.)

дарозии ( [ s ] )

Агар дароз карда шавад, дарозии сатри с , ё дарозии $ 0, агар s дода нашавад.

match ( s , r [ , a ] )

Мавқеи он дар s, ки агар ифодаи муқаррарӣ рух медиҳад ё 0, агар р вуҷуд надорад ва арзиши RSTART ва RLENGTHро бар мегардонад . Дар хотир доред, ки баҳси баҳс ҳамон як операторро дорад: с. Агар як асбобе, ки дар он ҷо дода шудааст, тоза карда шуда бошад, пас аз 1 n ба қисмҳо тақсим карда мешавад, ки он дар зер оварда мешавад. Дар унсури 0-и қисми якуме, ки бо ифодаи муқаррарӣ мутобиқат мекунад, дар бар мегирад.

тақсим карда шуд ( s , a [ , r ] )

Рақамро ба сеҳр тақсим карда, дар диалоги муқаррарӣ r ва рақами майдонҳоро бар мегардонад. Агар r хомӯш карда шуда бошад, FS истифода мешавад. Ассаласияи якум тоза карда мешавад. Бастани якхела ба тақсимоти майдон, ки дар боло тасвир шудааст, амал мекунад.

sprintf ( fmt , рӯйхати рамзҳо )

Рӯйхати фармоишро бо фмт чоп кунед ва сатри натиҷаро бар мегардонад.

strtonum (str )

Стратегияро санҷед ва арзиши рақамии худро бар мегардонад. Агар str бо сарлавҳаи 0 оғоз меёбад, strtonum () тасаввур мекунад, ки Стр - рақами сентябри мебошад. Агар str ки бо 0x ё 0X пеш аз сар шавад , strtonum () ба он ишора мекунад, ки Стр - рақами шонздаҳ аст.

sub ( r , s [ , t ] )

Мисли gsub () , аммо ҷузвдонҳои аввалияи ивазшавӣ иваз карда мешавад.

substr ( s , i [ , n ] )

Одатан дар ҳама ҷо n- шрифт аз сеҳрҳо бармегарданд. Агар n нест карда шавад, боқимондаҳои дигар истифода мешаванд.

Таклиф

Нусхаи клавиатура , ки бо ҳамаи аломатҳои болоӣ дар таркиб ба тарҷумаҳои миқдори мувофиқашонро бармегардонад, бармегардонад. Аломатҳои ғайримашрӯр бетағйир мондаанд.

шампун (str )

Нусхаи клавиатура , ки бо ҳамаи рамзҳои почтаи каҷ дар таркиб ба тарҷумаҳои дахлдори болоӣ мувофиқат мекунанд, бармегардонад. Аломатҳои ғайримашрӯр бетағйир мондаанд.

Функсияҳои вақт

Азбаски яке аз истифодаи ибтидоии барномаҳои AWK коркарди файлҳои сабтие мебошад , ки дорои мӯҳтавои мӯҳтаво мебошанд , гов барои гирифтани лаҳзаи вақт ва формат кардани онҳо вазифаҳои зеринро пешниҳод мекунад.

mktime ( datespec )

Рӯйхати вақтро ба лаҳзаи мӯҳрии ҳамон шакли гирифташуда, ки systime () баргардонидааст . Datepec рамзи формати формати YYYY MM DD HH MM SS [DST] мебошад . Мӯҳтавои рақам шаш ё ҳафт рақамро мутаносибан мутаносибан дар тамоми сол, аз ҷумла асри 1, 12, рӯзи моҳ аз 1 то 31, соати рӯз аз 0 то 23, дақиқа аз 0 то 59, ва дуюм аз 0 то 60, ва парчами солонаи захиравии изофӣ. Арзиши ин рақамҳо набояд дар доираи номгӯи мушаххас бошанд; Масалан, як соат -1 маънои онро дорад, ки 1 соат пеш аз нисфирӯзӣ. Тақвими григориании генетикӣ бо сол 0 то 1 сол ва соли -1-то соли гузашта фаромӯш карда мешавад. Вақт дар вақти маҳаллӣ қарор дорад. Агар парчами наҷотдиҳандаи рӯзи офтоб мусбат бошад, вақти он аст, ки вақт сарф шавад; Агар сифр бошад, вақти муайяншудаи вақт муқаррар мешавад; ва агар манфӣ (аслӣ) бошад, mktime () кӯшиш мекунад муайян кунад, ки оё вақти эфирии офтоб вақти муайянро дарбар мегирад. Агар санҷишҳо элементҳои кофӣ дошта бошанд ё агар вақти нокифоягии берун аз ҳудуд бошад, mktime () -1-ро бар мегардонад.

strftime ( [ формат [ , санҷиш ]] )

Намудҳои вақтбандӣ мувофиқи хусусиятҳои формат. Вақтрасон бояд ҳамон шакли ҳамоне, ки systime () баргардонида шавад, бошад . Агар вақт ҷудо карда нашавад , вақти ҳозир истифода мешавад. Агар формат нодуруст бошад, формати пешфарз ба тозакунии санаи (1) истифода мешавад. Функсия барои тарки strftime () функсияи ANSI C барои форматҳо, ки кафолат дода мешавад, нигаред. Варианти оммавии доменӣ (3) ва саҳифаҳои он барои он бо гов меояд ; агар ин нусхаро барои сохтани қаҳвахона истифода баранд , он гоҳ ҳамаи анъанаҳо , ки дар саҳифаи ин саҳифа тасвир шудаанд, дастрас аст .

systime ()

Вақти ҳозира ба миқдори сексияҳо аз замони эҷоди (1970-01-01 00:00:00 UTC дар системаҳои POSIX) бармегардад.

Функсияҳои идоракунӣ

Оғози бо версияи 3.1 аз қафасиҳо , функсияҳои марбути зайл дастрас аст: Онҳо бо тағйир додани арзишҳои нуқтаи дуто-дани дуҷониба ба камкуниҳои дарозмӯҳлат , иҷрои амалиёт ва сипас ба натиҷаҳои бозгашт ба нуқтаи шиноварӣ табдил меёбанд. Функсияҳо инҳоянд:

ва ( v1 , v2 )

Батаред ва аз арзишҳои пешниҳодшудаи v1 ва v2 баргарданд .

Садо Ояндасоз

Пайвастшавӣ ба андозаи пурраи вал .

люкс ( ҳисоб , ҳисоб )

Бозгашти арзишро бардоред , ки аз тарафи сақфҳои рамзӣ ҷой дода шудааст.

ё ( v1 , v2 )

Батаред OR-ро аз рӯи V1 ва v2 пешниҳод кунед .

rshift (боқимонда , ҳисоб )

Бозгашти арзишро бардоред , ростро ба воситаи сақфҳои такрорӣ иваз кунед .

xor ( v1 , v2 )

Хуруҷи XOR аз арзишҳои аз ҷониби v1 ва v2 пешниҳодшуда .

Функсияҳои байналмилализатсия

Аз версияи 3.1 аз гараж сар карда , функсияҳои зерин метавонанд дар доираи барномаи AWK-и худ барои тарҷума кардани сатрҳо дар вақти корӣ истифода шаванд. Барои тафсилоти пурра, ба GAWK муроҷиат кунед: Барномасозии самараноки AWK .

bindtextdomain ( феҳристи [ , domain ] )

Феҳристро муайян мекунад, ки панел ба файлҳои .mo муроҷиат мекунад , агар онҳо дар ҷойҳои стандартӣ (масалан, дар вақти санҷиш) ҷойгир набошанд ё наметавонанд. Ин феҳристро, ки домени "bound bound" аст, бар мегардонад.

Дар домени муқаррарӣ арзиши TEXTDOMAIN аст . Агар феҳрист сатри нул ( "" ) бошад, пас bindtextdomain () пайвастшавиро ҷорӣ мекунад барои домени додашуда.

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

Тарҷумаи сатрро дар домени доменӣ барои категорияи категорияи ҷудошуда баргардонад . Арзиши аслӣ барои домен , арзиши ҳозираи TEXTDOMAIN аст . Арзиши аслӣ барои категория "LC_MESSAGES" мебошад .

Агар шумо арзиши гурӯҳро пешниҳод кунед, он бояд як ададро ба яке аз категорияҳои маълумшудаи маҳал, ки дар GAWK тасвир шудааст, дарбар мегирад: Барномаи бомуваффақияти AWK . Шумо инчунин бояд домени матниро пешниҳод кунед. Агар шумо хоҳед, ки домейнро истифода баред, TEXTDOMAIN -ро истифода баред.

dcngettext ( string1 , string2 , рақами [ , domain ] , category ]] )

Нишондиҳандаи шаклҳои гуногун, ки барои рақами тарҷумаи string1 ва string2 дар майдони домении матн барои категорияи категорияи маҳаллӣ истифода мешаванд . Арзиши аслӣ барои домен , арзиши ҳозираи TEXTDOMAIN аст . Арзиши аслӣ барои категория "LC_MESSAGES" мебошад .

Агар шумо арзиши гурӯҳро пешниҳод кунед, он бояд як ададро ба яке аз категорияҳои маълумшудаи маҳал, ки дар GAWK тасвир шудааст, дарбар мегирад: Барномаи бомуваффақияти AWK . Шумо инчунин бояд домени матниро пешниҳод кунед. Агар шумо хоҳед, ки домейнро истифода баред, TEXTDOMAIN -ро истифода баред.

Функсияҳои истифодашуда

Функсияҳо дар AWK чунинанд:

номи функсия ( рӯйхати параграф ) { statements }

Функсияҳо ҳангоми ҳаллу фасли он дар шаклҳо ва амалҳо иҷро карда мешаванд. Параметрҳои воқеие, ки дар занги функсияҳо дода шудаанд, барои таснифи параметрҳои расмии дар функсия баёншуда истифода мешаванд. Дискҳо бо ишораҳо мегузаранд, дигар тағйирёбандаҳо бо арзишҳо мегузаранд.

Азбаски функсияҳо дар ибтидои асари AWK начандон зиёд набуданд, таъминоти тағйирёбандаи маҳаллӣ назаррас аст: онҳо ҳамчун параметрҳои иловагӣ дар рӯйхати параграф эълон карда мешаванд. Конвенсия барои ҷудо кардани вариантҳои маҳаллӣ аз параметрҳои воқеӣ бо ҷойҳои иловагӣ дар рӯйхати параметрҳо аст. Барои намуна:

Функсияи f (p, q, a, b) # a ва b {{} {abc / {...; f (1, 2); ...}

Ворид кардани сулҳ дар занги функсия вазифадор аст, ки фавран номи функсияро, бе ягон фазои кушодаи фрейм иҷро кунед. Ин барои пешгирӣ кардани номувофиқи натуралӣ бо оператори контейнентӣ мебошад. Ин маҳдудият ба функсияҳои дохилии дар боло номбаршуда истифода намешавад.

Функсияҳо метавонанд якдигарро занг зананд ва метавонанд ислоҳ шаванд. Параметрҳои функсияе, ки ҳамчун тағирёбандаи маҳаллӣ истифода мешаванд, ба сатри null ва рақами сифр бо дархости функсия дода мешаванд.

Бозгашти бозгаштан барои баргардонидани арзиш аз функсия. Арзиши барқ ​​муайян намекунад, агар ягон арзиш пешбинӣ нашуда бошад ва ё функсия аз тарафи "falling off" ба охир мерасад.

Агар фароҳам оварда шуда бошад, гов дар бораи зангҳо ба вазифаҳои номуайян дар вақти корӣ, дар вақти корӣ огоҳӣ мекунад. Функсияи функсияи undefined at run time error error.

Калимаи " func" мумкин аст дар ҷои кор истифода шавад .

МАЪЛУМОТИ ИЛМИҲОИ ДЕМОСТӢ

Оғози бо версияи 3.1 қаҳвахона , шумо метавонед ба таври тарҷима ба тарҷумаи тарҷумон давом дода шавад. Маълумоти муфассалтар аз доираи доираи ин дастур аст; Нигаред ба GAWK: Барномаҳои самараноки AWK барои тафсилот.

васеъ ( объекти , функсия )

Ба таври динамикӣ файли объекти муштаракро, ки бо объекти физикӣ алоқаманд аст , пайваст карда, функсияро дар ин объект даъват мекунад. Инҳо ҳам бояд ҳамчун рамзҳо таъмин карда шаванд. Бозгашти арзиши баргардонидашудаи функсия .

Ин функсия дар GAWK пешниҳод шудааст ва дар ҳуҷҷати GAWK навишта шудааст: Барномасозии самараноки AWK , аммо ҳама чиз дар бораи ин хусусият эҳтимолияти бозгашти навбатиро тағйир медиҳад. Мо қавӣ тавсия медиҳем, ки шумо ин чизро барои ҳар чизе, ки шумо мехоҳед бозмедорад, истифода набаред.

СИСТЕМАИ

pgawk ду сигналро қабул мекунад. SIGUSR1 боиси он аст, ки плеери профилӣ ва функсияро ба файли профил, ки awkprof.out аст , ё ҳар файле, ки бо варианти - номуайян номбар шудааст, партофтааст . Он гоҳ давом меёбад. SIGHUP ба он меорад, ки косаи профили профили функсия ва функсияро тарк кунад ва сипас берун барорад.

Мисолҳо

Номҳои воридшавии ҳамаи истифодабарандагонро чоп кунед ва нависед : BEGIN {FS = ":"} {print $ 1 | " Ном +"} Нишондиҳандаи сатрҳо дар файл: {nlines ++} END {print nlines} Ҳангоми ҳар як сатр бо рақами он дар феҳристи пешакӣ: {print FNR, $ 0} Нишон ва рақами сатр (варианти як мавзӯъ): {print NR, $ 0}

Дохилшавӣ

Сабтҳои сатрҳо пайдарпаии рамзҳо, ки дар лавҳаҳои дӯкӣ дучор шудаанд, мебошанд. Дар муҳити ғайримақсадноки забони англисӣ, хатогиҳо дар барномаи AWK қайд карда мешаванд, ки тарҷума ба забони модарии ватанӣ лозиманд. Чунин ишораҳо дар барномаи AWK бо нишонаи пешқадами "` _ "'ишора карда мешаванд. Барои намуна,

гов "BEGIN {чоп" hello, world}} '

ҳамеша ҳавасманд, ҷаҳон . Аммо,

гов "BEGIN {print _" hello, world "} '

Шояд шумо суол ё назаре доред ?

Якчанд марҳила дар истеҳсол ва идоракунии барномаи AWK маҳаллисозӣ вуҷуд дорад.

1.

Амал кардани BEGIN-ро барои таъин кардани арзиши тағйирёбии TEXTDOMAIN барои гузоштани матни матн бо номи алоқаи барномаи шумо.


BEGIN {TEXTDOMAIN = "myprog"}

Ин ба гов барои пайдо кардани файли .mo бо барномаи шумо иҷозат медиҳад. Бе ин қадам, қаҳрамонҳои домени хабарӣ истифода мебаранд, ки эҳтимолан тарҷумаи барномаи шумо нест.

2.

Ҳама сатрҳоро қайд кунед, ки бояд бо зербоварии пештара тарҷума карда шавад.

3.

Агар лозим бошад, ки дар мувофиқаатон барномаҳои dcgettext () ва / ё bindtextdomain () истифода кунед.

4.

- ро истифода баред - mytrog.awk myprog.po барои эҷоди файли .po барои барномаи худ.

5.

Таъмин намудани тарҷумаҳои мувофиқ, ва сохтани ва файли дахлдори .mo .

Хусусиятҳои байналмилализатсия дар тафсилоти пурра дар GAWK шарҳ дода шудаанд: Барномасозии самараноки AWK .

Мутобиқати Posix

Ҳадафи асосӣ барои маросим мутобиқ ба стандарти POSIX, инчунин бо навтарин нусхаи UNIX мебошад. Бо ин мақсад, гов ба зергурӯҳҳои зерини истифодабаранда, ки дар китобчаи AWK тавсиф нашудаанд, дохил мешаванд, аммо қисмати тақрибан лабораторияҳои лабораторияи бренд мебошанд , ки дар стандарти POSIX мебошанд.

Дар китоби мазкур нишон дода шудааст, ки супориши тағйирёбандаи сатри фармонҳо ба амал меояд, вақте ки достон ҳамчун файл, ки баъд аз BEGIN блок иҷро карда мешавад, кушода мешавад. Бо вуҷуди ин, дар амалисозии қаблӣ, вақте ки чунин супориш пеш аз ҳама ягон номҳои файлӣ пайдо шуда буд, супориш пеш аз баста шудани BEGIN иҷро шуд. Барномаҳое, ки аз ин хусусият вобастаанд, вобастаанд. Вақте ки ба ҳуҷҷатҳои худ иваз карда шуд, вариантро барои таъини тағйирёбандаҳо пеш аз иҷрои барномаи барнома илова кардани барномаҳое, ки ба рафтори кӯҳна вобастаанд, илова карда шуд. (Ин хусусият аз ҷониби лабораторияҳои Bell ва GNU таҳияшуда қарор гирифтанд.)

Интихоби В- ро барои хусусиятҳои мушаххас аз стандарти POSIX мебошад.

Ҳангоми коркарди аризаҳо , панели ихтиёрии махсуси " Дар ҳолати мутобиқатӣ, он огоҳ аст, вале дар акси ҳол ба вариантҳои номаълум намефаҳманд. Дар амалиётҳои муқаррарӣ ин гуна далелҳо ба барномаи AWK барои он коркард мешаванд.

Дар китоби AWK арзиши бозгашти srand () вуҷуд надорад . Стандартҳои POSIX ин тухмро истифода мебаранд, то ки ба решакан кардани рақамҳои тасодуфии рақамӣ иҷозат дода шавад. Бинобар ин, srand () дар гов низ тухми ҳозираи худро бар мегардонад.

Дигар хусусиятҳои нав инҳоянд: Истифодаи усули якчанд фосилаҳо (аз МKS ); маҷмӯи ENVIRON ; $ A ); $ B ); $ C ); $ C ); $ D ); $ C ); $ D ); функсияҳои сохтмонӣ () ва функсияҳои (toupper ()) (аз варианти Bell Laboratories); ва намунаҳои тағйирёбии ANSI C дар printf (дар аввал дар версияи лабораторияҳо анҷом дода мешаванд).

Хусусиятҳои таърихӣ

Ду намуди амалисозии таърихии AWK вуҷуд доранд, ки гов пуштибонӣ мекунад. Якум, имконпазир аст, ки дарозии () функсияи built-in на танҳо бо далелҳо, балки ҳатто бе параметрҳо занг занад! Ҳамин тавр,

a = length # Algol Holy 60, Batman!

ба монанди ҳамон

a = дарозии ()
a = дарозии ($ 0)

Ин хусусият ҳамчун " истисноӣ " дар стандарти POSIX қайд карда мешавад ва гов дар бораи истифодаи он огоҳ мекунад, агар дар хати фармон муайян карда шавад.

Дигар хусусияти истифода аз давомнокӣ ё баёноти шикасти берун аз ҷисми як вақт , барои ислоҳи он. Амалҳои аналитикии AWK чунин истифодабариро ҳамчун баёнияи оянда истифода бурданд . Гов ба ин истифодабаранда дастгирӣ мекунад, агар - нишон дода шудааст.

Extensions GNU

Гавк як қатор васеътар ба POSIX хом . Онҳо дар ин қисмат тасвир шудаанд. Ҳамаи паҳнкуниҳоро дар ин ҷо тавсиф кардан мумкин аст, бо роҳи пинҳон кардани параметр бо вариантҳои ғайрифаъол .

Хусусиятҳои зерини гов дар POSIX мавҷуд нестанд.

*

Ҷустуҷӯи роҳ барои файлҳое, Бинобар ин, тағйирёбии муҳити атрофи AWKPATH махсус нест.

*

Силсилаи фирор. (Бо нусхаи феълӣ .)

*

Функсияи fflush () . (Бо нусхаи феълӣ .)

*

Қобилияти давом додани хати пас аз ? ва :. (Бо нусхаи феълӣ .)

*

Доимӣ ва даҳшатовар дар барномаҳои AWK.

*

Тағйирёбандаҳои ARGIND , BINMODE , ERRNO , LINT , RT ва TEXTDOMAIN махсус надоранд.

*

Тағйироти IGNORECASE ва таъсири манфии он вуҷуд надорад.

*

Параграфи FIELDWIDTHS тағйирёбанда ва тақсимоти доимӣ.

*

Асбоби PROCINFO дастрас нест.

*

Истифодаи RS ҳамчун ифодаи муқаррарӣ.

*

Номҳои махсуси файли номнависшудаи I / O мавҷуд нестанд.

*

| & Оператор барои эҷоди кооперативҳо.

*

Қобилияти ҷудо кардани аломатҳои инфиродӣ бо истифодаи сатри null ҳамчун арзиши FS , ва ҳамчун далели сеюм барои тақсим кардани () .

*

Далели дуюми ихтиёрӣ ба функсияи close () .

*

Далели сеюмии факултативӣ ба функсияи match () .

*

Имконияти истифодаи хусусиятҳои мавқеъи чопӣ бо printf ва sprintf () .

*

Истифодаи силсилаи силсила барои нест кардани ҳамаи мундариҷаҳои ҷадвал.

*

Истифодаи навбатӣ барои бекор кардани коркарди файли ҷорӣ.

*

Дар ин ҷо шумо забонҳоеро , ки аз тарафи KDE истифода мегарданд , интихоб карда наметавонед. Дар ин ҷо шумо забонҳоеро , ки аз тарафи KDE истифода мегарданд , интихоб карда метавонед. () ва xor () функсияҳо.

*

Сарлавҳаҳои маҳаллисозӣ.

*

Илова кардани функсияҳои нави дохилӣ бо функсияи extension () .

Дар AWK китоби AWK арзиши бозгашти функсияи close () мебошад. Тугмаи Gawk () ба нархи аз fclose (3) ва ё pclose (3), вақте ки хомӯш кардани файл ё қубурро мутаносибан бар мегардонад. Ҳангоми бастани қубурҳои воридотӣ раванди баромади раванди баргардонида мешавад. Арзиши барқ ​​-1-агар бо номи файл, қубур ё ҳамоҳанг бо ифлос кушода нашуда бошад.

Вақте ки панел бо варианти фаръӣ дархост карда мешавад, агар args-f- ро интихоб кунед, 't' ', пас FS ба сатри ҷадвал гузошта мешавад. Дар хотир доред, ки клавиатураи клавиатура -F \ t ... танҳо ба ҷадвал дода мешавад , ки "t", "" ва "t" -ро ба " F" гузорад . Азбаски ин ҳолат махсуси зишт аст, ин рафтори оддӣ нест. Ин рафтор низ дар ҳолате намебошад, агар - тасвир нишон дода шавад. Барои дар ҳақиқат ҷудошавии диапазон ҳамчун ҷудокунии майдон, беҳтар аст, ки нусхаҳои ягонаро истифода баред: gawk -F 't' ....

Ба дигар фармонҳо нигаред : wait , lp , complete , execv , getfacl , ioctl , uniq , rmmod , pvcreate , rsh , unix2dos , cal , fs , cd , iwpriv , swapon , autofs , сӯҳбат , motd , ройгон , lpr , execl , fdisk , дар , кӣ , iwconfig , ifconfig , vgdisplay , кушода , lsmod , ntohs , mailq , kill , wtmp