пСЙНБНДЯРБН ОНКЭГНБЮРЕКЪ ДКЪ GNU Awk

Arnold D. Robbins
ОЕПЕБНД аЮКСЕБЮ ю. м.

нЦКЮБКЕМХЕ

оПХКНФЕМХЕ A. нАГНП gawk

A.5 дЕИЯРБХЪ

б МЮВЮКН ЯРПЮМХЖШ

нОЕПЮРНПШ ДЕИЯРБХИ ГЮЙКЧВЮЧРЯЪ Б ЯЙНАЙХ `-' Х `""'. нРЯСРЯРБХЕ ДЕИЯРБХИ ЩЙБХБЮКЕМРМН `- print ""'.

нОЕПЮРНПЮЛХ ДЕИЯРБХИ ЛНЦСР АШРЭ НОЕПЮРНПШ ОПХЯБЮХБЮМХЪ, СЯКНБМШЕ НОЕПЮРНПШ, НОЕПЮРНПШ ЖХЙКНБ, НОЕПЮРНПШ ББНДЮ/БШБНДЮ Х ДПСЦХЕ НОЕПЮРНПШ , ХЛЕЧЫХЕЯЪ Б яХ Х ДПСЦХУ ЪГШЙЮУ.

йНЛЛЕМРЮПХХ МЮВХМЮЧРЯЪ Я ЯХЛБНКЮ `#'Х ОПНДНКФЮЧРЯЪ ДН ЙНМЖЮ ЯРПНЙХ. дКЪ ПЮГДЕКЕМХЪ НОЕПЮРНПНБ ЛНЦСР ХЯОНКЭГНБЮРЭЯЪ ОСЯРШЕ ЯРПНЙХ. мНПЛЮКЭМН НОЕПЮРНПШ ГЮЙЮМВХБЮЧРЯЪ ЯХЛБНКНЛ newline; НДМЮЙН, ЩРН МЕ РЮЙ Б ЯКСВЮЕ ЯРПНЙ, НЙЮМВХБЮЧЫХУЯЪ МЮ `,', `-', `?', `:', `&&', or `----'. яРПНЙХ, НЙЮМВХБЮЧЫХЕЯЪ МЮ do ХКХ else РЮЙФЕ ЮБРНЛЮРХВЕЯЙХ ОПНДНКФЮЧР ХУ НОЕПЮРНПШ МЮ ЯКЕДСЧЫСЧ ЯРПНЙС. б ДПСЦХУ ЯКСВЮЪУ ЯРПНЙЮ ЛНФЕР АШРЭ ОПНДНКФЕМЮ ГМЮЙНЛ `"', Х Б ЩРНЛ ЯКСВЮЕ newline ХЦМНПХПСЕРЯЪ.

мЕЯЙНКЭЙН НОЕПЮРНПНБ ЛНЦСР ПЮЯОНКЮЦЮРЭЯЪ Б НДМНИ ЯРПНЙЕ, ПЮГДЕКЕММШЕ ГМЮЙНЛ `;'. щРН ОПХЛЕМХЛН ЙЮЙ Й НОЕПЮРНПЮЛ БМСРПХ ДЕИЯРБХЪ Б ОПЮБХКЕ (НАШВМШИ ЯКСВЮИ), РЮЙ Х Й ЯЮЛХЛ НОЕПЮРНПЮЛ ОПЮБХК. яЛ. ПЮГДЕК 2.2.5 [йНЛЛЕМРЮПХХ Б awk-ОПНЦПЮЛЛЮУ], ЯРП. 13, ДКЪ ХМТНПЛЮЖХХ НА ЙНЛЛЕМРЮПХЪУ Б awk. нОХЯЮМХЕ ЛЕУЮМХГЛЮ ОПНДНКФЕМХЪ ЯРПНЙ ЯЛ. Б ПЮГДЕКЕ 2.6 [нОЕПЮРНПШ awk Х ЯРПНЙХ], ЯРП. 17.

A.5.1 нОЕПЮРНПШ

б МЮВЮКН ЯРПЮМХЖШ
нОЕПЮЖХХ Б awk, Б ОНПЪДЙЕ СЛЕМЭЬЕМХЪ ОПХНПХРЕРЮ, ЯКЕДСЧЫХЕ:
(...) цПСООХПНБЙЮ. 
$ яЯШКЙЮ МЮ ОНКЕ. 
++ -- сБЕКХВЕМХЕ Х СЛЕМЭЬЕМХЕ,
ЙЮЙ ОПЕТХЙЯМШЕ, РЮЙ Х ОНЯРТХЙЯМШЕ. 
^ бНГБЕДЕМХЕ Б ЯРЕОЕМЭ 
(`**' РЮЙФЕ ЛНФМН СОНРПЕАКЪРЭ, Х  `**=' 
ДКЪ НОЕПЮРНПНБ ОПХЯБЮХБЮМХЪ, МН НМХ МЕ СЙЮГЮМШ Б
POSIX standard). 
+ - ! сМЮПМШЕ  ОКЧЯ Х ЛХМСЯ Х КНЦХВЕЯЙНЕ НРПХЖЮМХЕ.
* / % сЛМНФЕМХЕ, ДЕКЕМХЕ Х ЛНДСКЧ. 
+ - яКНФЕМХЕ Х БШВХРЮМХЕ.
ОПНАЕК  ЙНМЙЮРЕМЮЖХЪ ЖЕОНВЕЙ. 
! != ? ?= != ==  нАШВМШЕ НОЕПЮЖХХ НРМНЬЕМХЪ.
 ~ !~ яННРБЕРЯРБХЕ ПЕЦСКЪПМНЛС БШПЮФЕМХЧ, НРПХЖЮМХЕ ЯННРБЕРЯРБХЪ.
in оПХМЮДКЕФМНЯРЭ ЛЮЯЯХБС.
 && кНЦХВЕЯЙНЕ "Х". 
 ---- кНЦХВЕЯЙНЕ  "ХКХ".
?: сЯКНБМНЕ БШПЮФЕМХЕ. 

хЛЕЕР ТНПЛЮР `expr1 ? expr2 : expr3'. еЯКХ expr1 ЕЯРЭ true, ГМЮВЕМХЕ БШПЮФЕМХЪ ЕЯРЭ expr2; Б ОПНРХБМНЛ ЯКСВЮЕ expr3. бШВХЯКЪЕРЯЪ РНКЭЙН НДМН ХГ expr2 Х expr3.

= += -= *= /= %= ^= оПХЯБЮХБЮМХЪ. оНДДЕПФХБЮЧРЯЪ ЮАЯНКЧРМНЕ ОПХЯБЮХБЮМХЕ (var=value) Х НОЕПЮЖХНММШЕ ОПХЯБЮХБЮМХЪ (БЯЕ НЯРЮКЭМШЕ ТНПЛШ) яЛ. ЦКЮБС 7 [бШПЮФЕМХЪ], ЯРП. 77.

A.5.2 сОПЮБКЪЧЫХЕ НОЕПЮРНПШ

б МЮВЮКН ЯРПЮМХЖШ
й СОПЮБКЪЧЫХЛ НОЕПЮРНПЮЛ НРМНЯЪРЯЪ:
if (condition) statement [ else statement ]
while (condition) statement do statement while (condition)
for (expr1; expr2; expr3) statement
for (var in array) statement
break
continue
delete array[index]
delete array
exit [ expression ] - statements ""
яЛ. ЦКЮБС 9 [сОПЮБКЪЧЫХЕ НОЕПЮРНПШ Б ДЕИЯРБХЪУ], ЯРП. 105.

A.5.3 нОЕПЮРНПШ ББНДЮ/БШБНДЮ

б МЮВЮКН ЯРПЮМХЖШ

нОЕПЮРНПШ ББНДЮ/БШБНДЮ: getline; СЯРЮМНБЙЮ $0 ХГ НВЕПЕДМНИ БУНДМНИ ГЮОХЯХ; СЯРЮМНБЙЮ NF, NR, FNR. яЛ. ПЮГДЕК 5.8 [ъБМШИ ББНД ОН getline], ЯРП. 53.

getline !file
сЯРЮМЮБКХБЮЕР $0 ОН ЯКЕДСЧЫЕИ ГЮОХЯХ Б ТЮИКЕ; СЯРЮМЮБКХБЮЕР NF.

getline var
сЯРЮМЮБКХБЮЕР Б var ЯКЕДСЧЫСЧ БУНДМСЧ ГЮОХЯЭ; СЯРЮМЮБКХБЮЕР NR, FNR.

getline var !file
сЯРЮМЮБКХБЮЕР Б var ЯКЕДСЧЫСЧ ГЮОХЯЭ ХГ file.

command -- getline
бШОНКМХРЭ command, ОЕПЕДЮЧЫСЧ ЯБНИ БШУНД ОН ЙНМБЕИЕПС Б getline; СЯРЮМЮБКХБЮЕР $0, NF, NR. command -- getline var бШОНКМХРЭ command, ОЕПЕДЮЧЫСЧ ОН ЙНМБЕИЕПС ЯБНИ БШУНД Б getline; СЯРЮМЮБКХБЮЕР var.

next
нЯРЮМЮБКХБЮЕР НАПЮАНРЙС РЕЙСЫЕИ БУНДМНИ ГЮОХЯХ. вХРЮЕРЯЪ ЯКЕДСЧЫЮЪ БУНДМЮЪ ГЮОХЯЭ Х НАПЮАНРЙЮ ОПНДНКФЮЕРЯЪ, МЮВХМЮЪ Я ОЕПБНЦН НАПЮГЖЮ Б ОПНЦПЮЛЛЕ.

nextfile
оПЕЙПЮЫЮЕРЯЪ НАПЮАНРЙЮ РЕЙСЫЕЦН БУНДМНЦН ТЮИКЮ. яКЕДСЧЫЮЪ БУНДМЮЪ ГЮОХЯЭ ВХРЮЕРЯЪ ХГ ЯКЕДСЧЫЕЦН БУНДМНЦН ТЮИКЮ. FILENAME НАМНБКЪЕРЯЪ, FNR СЯРЮМЮБКХБЮЕРЯЪ МЮ 1, ARGIND СБЕКХВХБЮЕРЯЪ Х НАПЮАНРЙЮ МЮВХМЮЕРЯЪ Я ОЕПБНЦН НАПЮГЖЮ ОПНЦПЮЛЛШ. еЯКХ ДНЯРХЦМСР ЙНМЕЖ БУНДМШУ ДЮММШУ, БШОНКМЪЧРЯЪ (ЕЯКХ ЕЯРЭ) ОПЮБХКЮ END . б ПЮММХУ БЕПЯХЪУ gawk ХЯОНКЭГНБЮКЯЪ `next file'; ЩРН ЕЫЕ ОНДДЕПФХБЮЕРЯЪ Х РЕОЕПЭ, МН ПЮЯЯЛЮРПХБЮЕРЯЪ ЕЦН ХЯЙКЧВЕМХЕ. яЛ. ПЮГДЕК 9.8 [нОЕПЮРНП nextfile], ЯРП. 112.

print
оЕВЮРЭ РЕЙСЫЕИ ГЮОХЯХ. яЛ. ЦКЮБС 6 [оЕВЮРЭ БШБНДЮ], ЯРП. 61.

print expr-list
оЕВЮРЮЕРЯЪ СЙЮГЮММШИ ЯОХЯНЙ БШПЮФЕМХИ

print expr-list ? file
мЮОЕВЮРЮРЭ Б file ГМЮВЕМХЪ СЙЮГЮММШУ БШПЮФЕМХИ. еЯКХ ТЮИКЮ МЕР, НМ ЯНГДЮЕРЯЪ. еЯКХ НМ ЯСЫЕЯРБСЕР, РН НВХЫЮЕРЯЪ ОЕПЕД ОЕВЮРЭЧ.

print expr-list ?? file
мЮОЕВЮРЮРЭ ГМЮВЕМХЪ БШПЮФЕМХИ Б file. оПЕФМЕЕ ГМЮВЕМХЕ ТЮИКЮ ЯНУПЮМЪЕРЯЪ, ОЕВЮРЭ ДНОХЯШБЮЕРЯЪ Б ТЮИК.

print expr-list -- command
мЮОЕВЮРЮРЭ БШПЮФЕМХЪ, ОНЯКЮБ ПЕГСКЭРЮР ОН ЙНМБЕИЕПС Б command. йНМБЕИЕП Й ЙНЛЮМДЕ НЯРЮЕРЯЪ НРЙПШРШЛ ДН БШГНБЮ ТСМЙЖХХ close.

printf fmt, expr-list
тНПЛЮРХПНБЮМХЕ Х ОЕВЮРЭ.

printf fmt, expr-list ? file
тНПЛЮРХПНБЮМХЕ Х ОЕВЮРЭ Б file. еЯКХ ТЮИКЮ МЕР, НМ ЯНГДЮЕРЯЪ. еЯКХ ЯСЫЕЯРБСЕР, РН НВХЫЮЕРЯЪ ОЕПЕД ОЕВЮРЭЧ.

printf fmt, expr-list ?? file
тНПЛЮРХПНБЮМХЕ Х ОЕВЮРЭ Б file. оПЕФМЕЕ ГМЮВЕМХЕ Б ТЮИКЕ ЯНУПЮМЪЕРЯЪ, МНБНЕ ДНОХЯШБЮЕРЯЪ Б ЙНМЕЖ.

printf fmt, expr-list -- command
тНПЛЮРХПНБЮМХЕ Х ОЕВЮРЭ, ПЕГСКЭРЮР ОНЯШКЮЕРЯЪ ОН ЙНМБЕИЕПС Й command. йНМБЕИЕП Й command НЯРЮЕРЯЪ НРЙПШРШЛ ДН БШГНБЮ close.

getline БНГБПЮЫЮЕР 0 ОПХ ЙНМЖЕ ТЮИКЮ, Х \Gamma 1 ОПХ НЬХАЙЕ. б ЯКСВЮЕ НЬХАЙХ getline СЯРЮМЮБКХБЮЕР ERRNO МЮ ГМЮВЕМХЕ ЯХЯРЕЛМНИ ЖЕОНВЙХ Я НОХЯЮМХЕЛ НЬХАЙХ.

A.5.4 нАГНП printf

б МЮВЮКН ЯРПЮМХЖШ

яОЕЖХТХЙЮЖХЪ ЙНМБЕПЯХХ ХЛЕЕР ТНПЛС
%[flag][width][.prec]format. нАЗЕЙРШ Б ЙБЮДПЮРМШУ ЯЙНАЙЮУ МЕ НАЪГЮРЕКЭМШ.

awk-НОЕПЮРНП printf Х ТСМЙЖХЪ sprintf БНЯОПХМХЛЮЧР ЯКЕДСЧЫХЕ ЯОЕЖХТХЙЮЖХХ ТНПЛЮРНБ ЙНМБЕПЯХХ:

%c гМЮЙХ ASCII. еЯКХ ЮПЦСЛЕМР, ХЯОНКЭГСЕЛШИ ДКЪ `%c' ЕЯРЭ ЖХТПЮ, НМЮ ПЮЯЯЛЮРПХБЮЕРЯЪ ЙЮЙ ЯХЛБНК Х ОЕВЮРЮЕРЯЪ. б ОПНРХБМНЛ ЯКСВЮЕ ЮПЦСЛЕМР ОПЕДОНКЮЦЮЕРЯЪ ЖЕОНВЙНИ Х ОЕВЮРЮЕРЯЪ РНКЭЙН ОЕПБШИ ЯХЛБНК ЖЕОНВЙХ.

%d %i дЕЯЪРХВМНЕ ВХЯКН (ЖЕКЮЪ ВЮЯРЭ).

%e %E вХЯКН Я ОКЮБЮЧЫЕИ РНВЙНИ БХДЮ `[-]d.dddddde[+-]dd'. тНПЛЮР `%E' ХЯОНКЭГСЕР `E' БЛЕЯРН `e'.

%f вХЯКН Я ОКЮБЮЧЫЕИ РНВЙНИ БХДЮ [-]ddd.dddddd.

%g %G хЯОНКЭГНБЮРЭ ТНПЛЮРШ `%e' ХКХ `%f', РНР, С ЙНРНПНЦН ПЕГСКЭРЮР ЙНПНВЕ, Я ОНДЮБКЕМХЕЛ МЕГМЮВЮЫХУ МСКЕИ.

`%G' ХЯОНКЭГСЕР `%E' БЛЕЯРН `%e'.

%o бНЯЭЛЕПХВМНЕ АЕГ ГМЮЙЮ (ЖЕКНЕ).

%s жЕОНВЙЮ ЯХЛБНКНБ.

%x %X ьЕЯРМЮДЖЮРЕПХВМНЕ ВХЯКН АЕГ ГМЮЙЮ (ЖЕКНЕ). тНПЛЮР `%X' ХЯОНКЭГСЕР АСЙБШ НР A' ДН `F' БЛЕЯРН НР `a' ДН `f' ДКЪ ДЕЯЪРХВМШУ НР 10 ДН 15.

%% нДХМ ЯХЛБНК `%'; МХЙЮЙХЕ ЮПЦСЛЕМРШ МЕ ЙНМБЕПРХПСЧРЯЪ.

хЛЕЧРЯЪ МЕНАЪГЮРЕКЭМШЕ, ДНОНКМХРЕКЭМШЕ ОЮПЮЛЕРПШ, ЙНРНПШЕ ЛНЦСР ОНЛЕЫЮРЭЯЪ ЛЕФДС `%' Х СОПЮБКЪЧЫЕИ АСЙБНИ:

- бШПЮФЕМХЕ ЯЛЕЫЕМН БКЕБН МЮ ЯБНЕЛ ОНКЕ.

ОПНАЕК ОПХ ОПЕНАПЮГНБЮМХЪ ВХЯЕК ОПЕДБЮПЪРЭ ОПНАЕКНЛ ОНКНФХРЕКЭМШЕ ВХЯКЮ, Ю НРПХЖЮРЕКЭМШЕ ГМЮЙНЛ ЛХМСЯ.

+ гМЮЙ ОКЧЯ, ХЯОНКЭГСЕРЯЪ ОЕПЕД ЛНДХТХЙЮРНПНЛ ЬХПХМШ (ЯЛ. МХФЕ), ОПЕДОХЯШБЮЕР БЯЕЦДЮ ЯМЮАФЮРЭ ВХЯКЮ ГМЮЙНЛ, ДЮФЕ ЕЯКХ ТНПЛЮРХПСЕЛШЕ ДЮММШЕ ОНКНФХРЕКЭМШ. `+' ОНДЮБКЪЕР ЛНДХТХЙЮРНП-ОПНАЕК.

# хЯОНКЭГНБЮРЭ "ЮКЭРЕПМЮРХБМСЧ ТНПЛС" ДКЪ МЕЙНРНПШУ СОПЮБКЪЧЫХУ АСЙБ. оПХ `o', ОХЯЮРЭ БЕДСЫХЕ МСКХ. оПХ `x' Х `X' ОХЯЮРЭ БЕДСЫХЕ `0x' ХКХ `0X' Б МЕМСКЕБШУ ПЕГСКЭРЮРЮУ. оПХ `e', `E' Х `f', ПЕГСКЭРЮР БЯЕЦДЮ АСДЕР ЯНДЕПФЮРЭ ДЕЯЪРХВМСЧ РНВЙС. оПХ `g'Х `G', ГЮЙКЧВХРЕКЭМШЕ МСКХ МЕ СДЮКЪЧРЯЪ ХГ ПЕГСКЭРЮРЮ.

0 бЕДСЫХИ `0' (МНКЭ) ДЕИЯРБСЕР ЙЮЙ ТКЮФНЙ, ОНЙЮГШБЮЧЫХИ, ВРН БШБНД ДНКФЕМ ОНОНКМЪРЭЯЪ МСКЪЛХ БЛЕЯРН ОПНАЕКНБ. щРН ОПХЛЕМЪЕРЯЪ ДЮФЕ Й МЕВХЯКНБШЛ БШУНДМШЛ ТНПЛЮРЮЛ. щРНР ТКЮФНЙ ДЕИЯРБСЕР РНКЭЙН ЙНЦДЮ ЬХПХМЮ ОНКЪ АНКЭЬЕ ДКХМШ ОЕВЮРЮЕЛНЦН ГМЮВЕМХЪ.

width оНКЕ ДНКФМН АШРЭ ПЮЯЬХПЕМН ДН СЙЮГЮММНИ ЬХПХМШ. мНПЛЮКЭМН ОНКЕ ОНОНКМЪЕРЯЪ ОПНАЕКЮЛХ. еЯКХ ХЯОНКЭГНБЮМ ТКЮФНЙ `0', НМН ОНОНКМЪЕРЯЪ МСКЪЛХ.

.prec вХЯКН, ЙНРНПНЕ СЙЮГШБЮЕР РНВМНЯРЭ, ХЯОНКЭГСЕЛСЧ ОПХ ОЕВЮРХ. дКЪ ТНПЛЮРНБ `e', `E' Х `f' НМН СЙЮГШБЮЕР ЙНКХВЕЯРБН ГМЮЙНБ, ЙНРНПНЕ БШ УНРХРЕ ОЕВЮРЮРЭ ЯОПЮБЮ НР ДЕЯЪРХВМНИ РНВЙХ. дКЪ ТНПЛЮРНБ `g' Х `G' НМН СЙЮГШБЮЕР ЛЮЙЯХЛЮКЭМНЕ ЙНКХВЕЯРБН ГМЮВЮЫХУ ЖХТП. дКЪ ТНПЛЮРНБ `d', `o', `i', `u', `x' Х `X' НМН СЙЮГШБЮЕР ЛХМХЛЮКЭМНЕ ЙНКХВЕЯРБН ОЕВЮРЮЕЛШУ ЖХТП. дКЪ ТНПЛЮРЮ `s' НМН СЙЮГШБЮЕР ЛЮЙЯХЛЮКЭМНЕ ЙНКХВЕЯРБН ГМЮЙНБ НР ЖЕОНВЙХ, ЙНРНПШЕ ДНКФМШ АШРЭ МЮОЕВЮРЮМШ.

кЧАНЕ ХГ ДБСУ ХКХ НАЕ БЕКХВХМШ, width Х prec, ЛНЦСР АШРЭ СЙЮГЮМШ ЙЮЙ `*'. б РЮЙНЛ ЯКСВЮЕ ГМЮВЕМХЕ АЕПЕРЯЪ ХГ ЯОХЯЙЮ ЮПЦСЛЕМРНБ. яЛ. ПЮГДЕК 6.5 [хЯОНКЭГНБЮМХЕ НОЕПЮРНПНБ printf ДКЪ ДЕЙНПЮРХБМНИ ОЕВЮРХ], ЯРП. 64.

A.5.5 яОЕЖХЮКЭМШЕ ТЮИКНБШЕ ХЛЕМЮ

б МЮВЮКН ЯРПЮМХЖШ

оПХ ОЕПЕМЮОПЮБКЕМХХ ББНДЮ/БШБНДЮ НР print ХКХ printf Б ТЮИК ХКХ ВЕПЕГ getline НР ТЮИКЮ gawk ПЮЯОНГМЮЕР МЕЙНРНПШЕ ЯОЕЖХЮКЭМШЕ ТЮИКНБШЕ ХЛЕМЮ. щРХ ХЛЕМЮ ПЮГПЕЬЮЧР ДНЯРСО Й ДЕЯЙПХОРНПЮЛ НРЙПШРШУ ТЮИКНБ, СМЮЯКЕДНБЮММШУ НР ПНДХРЕКЭЯЙХУ ОПНЖЕЯЯНБ gawk (НАШВМН НР НАНКНВЙХ).

хЛЕМЮ ЯКЕДСЧЫХЕ:

`/dev/stdin'  яРЮМДЮПРМШИ ББНД
`/dev/stdout' яРЮМДЮПРМШИ БШБНД
`/dev/stderr' яРЮМДЮПРМШИ БШБНД ДКЪ НЬХАНЙ
`/dev/fd/n'   тЮИК, НАНГМЮВЕММШИ НРЙПШРШЛ ТЮИКНБШЛ ДЕЯЙПХОРНПНЛ  n.

йПНЛЕ РНЦН, ВРЕМХЕ ЯКЕДСЧЫХУ ТЮИКНБ НАЕЯОЕВХБЮЕР ХМТНПЛЮЖХЧ Н ОПНЖЕЯЯЕ БШОНКМЕМХЪ ОПНЦПЮЛЛ gawk. бЯЕ БШДЮБЮЕЛШЕ ГЮОХЯХ ЙНМВЮЧРЯЪ ЯХЛБНКНЛ newline.

`/dev/pid'
бШДЮЕР ХДЕМРХТХЙЮРНП ID РЕЙСЫЕЦН ОПНЖЕЯЯЮ

`/dev/ppid'
бШДЮЕР ID ПНДХРЕКЪ РЕЙСЫЕЦН ОПНЖЕЯЯЮ.

`/dev/pgrpid'
бШДЮЕР ID ЦПСООШ ОПНЖЕЯЯНБ ДКЪ РЕЙСЫЕЦН ОПНЖЕЯЯЮ.

`/dev/user'
оН ЙПЮИМЕИ ЛЕПЕ ВЕРШПЕ ПЮГДЕКЕММШУ ОПНАЕКЮЛХ ОНКЪ, ЯНДЕПФЮЫХЕ БНГБПЮЫЕММШЕ ГМЮВЕМХЪ ЯХЯРЕЛМШУ БШГНБНБ getuid, geteuid, getgid Х getegid. еЯКХ ХЛЕЧРЯЪ ДНОНКМХРЕКЭМШЕ ОНКЪ, НМХ ОПЕДЯРЮБКЪЧР ЦПСООНБШЕ ID, БНГБПЮЫЕММШЕ ЯХЯРЕЛМШЛ БШГНБНЛ getgroups. (йПЮРМШЕ ЦПСООШ ЛНЦСР МЕ ОНДДЕПФХБЮРЭЯЪ БН БЯЕУ ЯХЯРЕЛЮУ.)

щРХ ХЛЕМЮ ТЮИКНБ ЛНЦСР АШРЭ РЮЙФЕ ХЯОНКЭГНБЮМШ Б ЙНЛЮМДМНИ ЯРПНЙЕ ДКЪ МЮХЛЕМНБЮМХЪ ТЮИКНБ Я ДЮММШЛХ. щРХ ХЛЕМЮ ПЮЯОНГМЮЧРЯЪ РНКЭЙН БМСРПЕММХЛ НАПЮГНЛ, ЕЯКХ БШ ТЮЙРХВЕЯЙХ МЕ ХЛЕЕРЕ ТЮИКНБ Я РЮЙХЛХ ХЛЕМЮЛХ Б БЮЬЕИ ЯХЯРЕЛЕ. яЛ. ПЮГДЕК 6.7 [яОЕЖХЮКЭМШЕ ХЛЕМЮ ТЮИКНБ Б gawk], ЯРП. 72, Я ОНДПНАМШЛХ НОХЯЮМХЪЛХ, ОНЪЯМЪЧЫХЛХ ЛНРХБЮЖХЧ СОНЛЪМСРШУ ЯПЕДЯРБ.

A.5.6 бЯРПНЕММШЕ ТСМЙЖХХ

б МЮВЮКН ЯРПЮМХЖШ

awk ОПЕДНЯРЮБКЪЕР МЕЙНРНПНЕ ЛМНФЕЯРБН БЯРПНЕММШУ ТСМЙЖХИ ДКЪ ОПНБЕДЕМХЪ БШВХЯКЕМХИ, НОЕПЮЖХИ МЮД ЖЕОНВЙЮЛХ Х НОЕПЮЖХИ ББНДЮ/БШБНДЮ.

бЯРПНЕММШЕ ЮПХТЛЕРХВЕЯЙХЕ ТСМЙЖХХ:

atan2(y, x)
ЮПЙРЮМЦЕМЯ  y/x Б ПЮДХЮМЮУ.

cos(expr)
ЙНЯХМСЯ БШПЮФЕМХЪ Б ПЮДХЮМЮУ.

exp(expr)
ЩЙЯОНМЕМЖХЮКЭМЮЪ ТСМЙЖХЪ (e ^ expr).

int(expr)
НЙПСЦКЕМХЕ ДН ЖЕКНЦН.

log(expr)
МЮРСПЮКЭМШИ КНЦЮПХТЛ НР expr.

rand()
ЯКСВЮИМНЕ ВХЯКН ЛЕФДС 0 Х 1.

sin(expr)
sin НР  expr Б ПЮДХЮМЮУ.

sqrt(expr)
ЙБЮДПЮРМШИ ЙНПЕМЭ.

srand([expr])
ХЯОНКЭГСЕР expr ЙЮЙ МНБНЕ МЮВЮКН 
ДКЪ ЦЕМЕПЮРНПЮ ОЯЕБДНЯКСВЮИМШУ ВХЯЕК.
оПХ НРЯСРЯРБХХ expr ХЯОНКЭГСЕРЯЪ БПЕЛЪ ДМЪ. 
бНГБПЮЫЮЕР ГМЮВЕМХЕ ОПЕДЬЕЯРБСЧЫЕЦН
МЮВЮКЮ ЦЕМЕПЮРНПЮ.

awk ХЛЕЕР ЯКЕДСЧЫХЕ БЯРПНЕММШЕ ТСМЙЖХХ ДКЪ НОЕПЮЖХИ МЮД ЖЕОНВЙЮЛХ:

gensub(regex, subst, how [, target])

еЯКХ how ЕЯРЭ ЖЕОНВЙЮ, МЮВХМЮЧЫЮЪЯЪ Я `g' ХКХ `G', РН ТСМЙЖХЪ ГЮЛЕЫЮЕР МЮ subst ЙЮФДНЕ БУНФДЕМХЕ ЯННРБЕРЯРБХЪ regex Б target. б ОПНРХБМНЛ ЯКСВЮЕ ГЮЛЕЫЮЧРЯЪ БУНФДЕМХЪ how. еЯКХ target НРЯСРЯРБСЕР, ХЯОНКЭГСЕРЯЪ $0. бНГБПЮЫЮЕЛНЕ ГМЮВЕМХЕ ЕЯРЭ ХГЛЕМЕММЮЪ ЖЕОНВЙЮ; ХЯУНДМЮЪ target МЕ ЛЕМЪЕРЯЪ. бМСРПХ subst, `"n', ЦДЕ n ЕЯРЭ ЖХТПЮ НР 1 ДН 9, ЛНФЕР ХЯОНКЭГНБЮРЭЯЪ ДКЪ СЙЮГЮМХЪ РЕЙЯРЮ, ЙНРНПШИ ЯННРБЕРЯРБСЕР n-ЛС ГЮЙКЧВЕММНЛС Б ЯЙНАЙХ ОНДБШПЮФЕМХЧ. щРЮ ТСМЙЖХЪ ЕЯРЭ НЯНАЕММНЯРЭ gawk.

gsub(regex, subst [, target])

мЮ ЛЕЯРН ЙЮФДНИ ОНДЖЕОНВЙХ ЖЕОНВЙХ target, НРБЕВЮЧЫЕИ ПЕЦСКЪПМНЛС БШПЮФЕМХЧ regex, ОНДЯРЮБКЪЕРЯЪ ЖЕОНВЙЮ subst, БНГБПЮЫЮЕРЯЪ ЙНКХВЕЯРБН ЯДЕКЮММШУ ОНДЯРЮМНБНЙ. еЯКХ target НРЯСРЯРБСЕР, БЛЕЯРН МЕЕ ХЯОНКЭГСЕРЯЪ $0.

index(str, search)
БНГБПЮЫЮЕРЯЪ ХМДЕЙЯ ЖЕОНВЙХ search Б ЖЕОНВЙЕ str, 
ХКХ 0, ЕЯКХ  search МЕ
ОПХЯСРЯРБСЕР.

length([str])
БНГБПЮЫЮЕР ДКХМС ЖЕОНВЙХ  str. 
бНГБПЮЫЮЕРЯЪ ДКХМЮ  $0, ЕЯКХ ЮПЦСЛЕМР
НРЯСРЯРБСЕР.

match(str, regex)
бНГБПЮЫЮЕР ОНГХЖХЧ Б str, 
ЦДЕ НЙЮГШБЮЕРЯЪ ПЕЦСКЪПМНЕ БШПЮФЕМХЕ regex, ХКХ
0, ЕЯКХ  regex НРЯСРЯРБСЕР, 
Х СЯРЮМЮБКХБЮЕР ГМЮВЕМХЪ  RSTART Х RLENGTH.

split(str, arr [, regex])

ПЮГДЕКЪЕР ЖЕОНВЙС str Б ЛЮЯЯХБ  
arr ЯНЦКЮЯМН ПЕЦСКЪПМНЛС БШПЮФЕМХЧ regex,
БНГБПЮЫЮЕР ЙНКХВЕЯРБН ЩКЕЛЕМРНБ. 
еЯКХ regex НОСЫЕМН, БЛЕЯРН МЕЦН ХЯОНКЭГСЕРЯЪ
FS. 
regex ЛНФЕР АШРЭ ОСЯРНИ ЖЕОНВЙНИ, 
ВРН ГЮЯРЮБКЪЕР ЙЮФДШИ ЯХЛБНК ОНЛЕЫЮРЭЯЪ
Б НРДЕКЭМНЛ ЩКЕЛЕМРЕ. 
лЮЯЯХБ arr ОПЕДБЮПХРЕКЭМН НВХЫЮЕРЯЪ.

sprintf(fmt, expr-list)
ОЕВЮРЭ ЯОХЯЙЮ expr-list ЯННРБЕРЯРБЕММН  fmt, 
БНГБПЮЫЮЕР ЖЕОНВЙС-ПЕГСКЭРЮР.

sub(regex, subst [, target])
ДЕИЯРБСЕР ОНДНАМН gsub, МН ГЮЛЕЫЮЕРЯЪ 
РНКЭЙН ОЕПБЮЪ ЯННРБЕРЯРБСЧЫЮЪ ОНДЖЕОНВЙЮ.

substr(str, index [, len])

бНГБПЮЫЮЕР ОНДЖЕОНВЙС ДКХМШ len ЖЕОНВЙХ  str, 
МЮВХМЮЧЫСЧЯЪ Я ОНГХЖХХ index.
еЯКХ len НОСЫЕМН, ХЯОНКЭГСЕРЯЪ БЕЯЭ НЯРЮРНЙ  str.

tolower(str)
БНГБПЮЫЮЕР ЙНОХЧ str, Б ЙНРНПНИ 
АСЙБШ БЕПУМЕЦН ПЕЦХЯРПЮ ГЮЛЕМЕМШ МХФМХЛХ.
мЕ АСЙБШ НЯРЮЧРЯЪ АЕГ ХГЛЕМЕМХЪ.

toupper(str)
БНГБПЮЫЮЕР ЙНОХЧ  str, ЦДЕ АСЙБШ 
МХФМЕЦН ПЕЦХЯРПЮ ГЮЛЕМЕМШ МН БЕПУМХЕ.
мЕ АСЙБШ МЕ ЛЕМЪЧРЯЪ.


й ТСМЙЖХЪЛ ББНДЮ/БШБНДЮ НРМНЯЪРЯЪ:

close(expr)
ГЮЙПШРЭ НРЙПШРШИ ТЮИК ХКХ ЙНМБЕИЕП Я ХЛЕМЕЛ  expr.

fflush([expr])
бШЙКЧВХРЭ БЯЪЙХИ АСТЕПХГНБЮММШИ БШБНД ДКЪ БШУНДМНЦН ТЮИКЮ ХКХ ЙНМБЕИЕПЮ, НАНГМЮВЕММНЦН expr. еЯКХ expr НРЯСРЯРБСЕР, БШЙКЧВЮЕРЯЪ ЯРЮМДЮПРМШИ БШБНД. еЯКХ expr ЕЯРЭ ОСЯРЮЪ ЖЕОНВЙЮ (""), БШЙКЧВЮЧРЯЪ БЯЕ БШУНДМШЕ АСТЕПШ.

system(cmd-line)
БШОНКМХРЭ ЙНЛЮМДС cmd-line Х БНГБПЮРХРЭ ЯРЮРСЯ exit. еЯКХ НОЕПЮЖХНММЮЪ ЯХЯРЕЛЮ МЕ ОНДДЕПФХБЮЕР system, ОПНХГНИДЕР ТЮРЮКЭМЮЪ НЬХАЙЮ.

`system("")' МЕКЭГЪ ХЯОНКЭГНБЮРЭ ДКЪ ОНАСФДЕМХЪ awk БШЙКЧВХРЭ ЙЮЙНИ-МХАСДЭ КХЬМХИ БШБНД. щРН АНКЕЕ ОЕПЕМНЯХЛН, МН ЛЕМЕЕ ОНМЪРМН, ВЕЛ БШГНБ fflush.

A.5.7 тСМЙЖХХ ЯКСФАШ БПЕЛЕМХ

б МЮВЮКН ЯРПЮМХЖШ

дБЕ ЯКЕДСЧЫХЕ ТСМЙЖХХ ДЮЧР БНГЛНФМНЯРЭ СГМЮРЭ РЕЙСЫЕЕ БПЕЛЪ Х ТНПЛЮРХПНБЮРЭ НРЛЕРЙХ БПЕЛЕМХ. нМХ ЕЯРЭ РНКЭЙН Б gawk.

systime()
бНГБПЮЫЮЕР БПЕЛЪ ДЮРШ Б БХДЕ ЙНКХВЕЯРБЮ ЯЕЙСМД, ОПНЬЕДЬХУ Я ОНКМНВХ 1 ъМБЮПЪ 1970 (UTC, МЮ ЯХЯРЕЛЮУ POSIX).

strftime([format[, timestamp]])
тНПЛЮРХПСЕР НРЛЕРЙС БПЕЛЕМХ ЯНЦКЮЯМН ЯОЕЖХТХЙЮЖХХ format. хЯОНКЭГСЕР РЕЙСЫЕЕ БПЕЛЪ, ЕЯКХ timestamp НОСЫЕМЮ. оН СЛНКВЮМХЧ format ЩЙБХБЮКЕМРЕМ БШУНДС Б СРХКХРЕ date. яЛ. пЮГДЕК 12.5 [тСМЙЖХХ ДКЪ ДЕИЯРБХИ Я НРЛЕРЙЮЛХ БПЕЛЕМХ], ЯРП. 148, ЯНДЕПФЮЫХИ ОНДПНАМНЕ НОХЯЮМХЕ ЯОЕЖХТХЙЮЖХИ ТНПЛЮРЮ Б strftime. яЛ. РЮЙФЕ ЦКЮБС 12 [бЯРПНЕММШЕ ТСМЙЖХХ], ЯРП. 135, Я НОХЯЮМХЕЛ БЯЕУ БЯРПНЕММШУ ТСМЙЖХИ Б awk.

A.5.8 яРПНЙНБШЕ ЙНМЯРЮМРШ

б МЮВЮКН ЯРПЮМХЖШ

яРПНЙНБШЕ ЙНМЯРЮМРШ Б awk ЕЯРЭ ЖЕОНВЙХ ЯХЛБНКНБ, ГЮЙКЧВЕММШЕ Б ДБНИМШЕ ЙЮБШВЙХ ("). бМСРПХ ЖЕОНВЕЙ ПЮЯОНГМЮЧРЯЪ МЕЙНРНПШЕ СОПЮБКЪЧЫХЕ ОНЯКЕДНБЮРЕКЭМНЯРХ, ЙЮЙ Б яХ. бНР ЩРХ ОНЯКЕДНБЮРЕКЭМНЯРХ:

""  аСЙБЮКЭМШИ НАПЮРМШИ ЯКЕЬ.
"a  яХЛБНК  "БМХЛЮМХЕ"; НАШВМН ЯХЛБНК BEL Б ЙНДЕ ASCII.
"b Backspace.
"f Formfeed (ОПНЦНМ ЯРПЮМХЖШ).
"n Newline.
"r Carriage return (БНГБПЮР ЙЮПЕРЙХ).
"t Horizontal tab.
"v Vertical tab.
"xhex digits

яХЛБНКШ, ОПЕДЯРЮБКЪЧЫХЕ ЖЕОНВЙС ЬЕЯРМЮДЖЮРЕПХВМШУ ЖХТП, ЯКЕДСЧР ГЮ `"x'. йЮЙ Х Б ANSI C, БЯЕ ЯКЕДСЧЫХЕ ЬЕЯРМЮДЖЮРЕПХВМШЕ ЖХТПШ ПЮЯЯЛЮРПХБЮЧРЯЪ ЙЮЙ ВЮЯРЭ СОПЮБКЪЧЫЕИ ОНЯКЕДНБЮРЕКЭМНЯРХ. мЮОПХЛЕП, ""x1B" ЕЯРЭ ЖЕОНВЙЮ, ЯНДЕПФЮЫЮЪ ASCII ESC (escape) ЯХЛБНК. (сОПЮБКЪЧЫЮЪ ОНЯКЕДНБЮРЕКЭМНЯРЭ `"x' МЕ БУНДХР Б POSIX awk.)

"ddd яХЛБНК, ОПЕДЯРЮБКЕММШИ НДМХЛ, ДБСЛЪ ХКХ РПЕЛЪ БНЯЭЛЕПХВМШЛХ ЖХТПЮЛХ. рЮЙ, ""033" ЕЯРЭ ЖЕОНВЙЮ, ЯНДЕПФЮЫЮЪ ASCII ESC (escape) ЯХЛБНК.

"c кХРЕПЮК c, ЕЯКХ c МЕ ЯНБОЮДЮЕР МХ Я НДМХЛ ХГ ОЕПЕВХЯКЕММШУ БШЬЕ ГМЮЙНБ. сОПЮБКЪЧЫЮЪ ОНЯКЕДНБЮРЕКЭМНЯРЭ ЛНФЕР РЮЙФЕ ХЯОНКЭГНБЮРЭЯЪ БМСРПХ ОНЯРНЪММШУ ПЕЦСКЪПМШУ БШПЮФЕМХИ (МЮОПХЛЕП, regexp /[ "t"f"n"r"v]/ ЯННРБЕРЯРБСЕР ЯХЛБНКЮЛ whitespace). яЛ ПЮГДЕК 4.2 [сОПЮБКЪЧЫХЕ ОНЯКЕДНБЮРЕКЭМНЯРХ], ЯРП. 24.

A.6 тСМЙЖХХ, НОПЕДЕКЕММШЕ ОНКЭГНБЮРЕКЕЛ

б МЮВЮКН ЯРПЮМХЖШ

тСМЙЖХХ Б awk НОПЕДЕКЪЧРЯЪ РЮЙ:
function name(parameter list) - statements ""

тЮЙРХВЕЯЙХЕ ОЮПЮЛЕРПШ (ЮПЦСЛЕМРШ) Б БШГНБЕ ТСМЙЖХХ ХЯОНКЭГСЧРЯЪ ДКЪ ОПЕДЯРЮБКЕМХЪ ТНПЛЮКЭМШУ ОЮПЮЛЕРПНБ, НАЗЪБКЕММШУ Б НОПЕДЕКЕМХХ ТСМЙЖХХ. лЮЯЯХБШ ОЕПЕДЮЧРЯЪ ОН ХЛЕМХ (ЯЯШКЙЕ), ДПСЦХЕ ОЮПЮЛЕРПШ ОЕПЕДЮЧРЯЪ ОН ГМЮВЕМХЧ. еЯКХ ОЕПЕДЮЕРЯЪ ЛЕМЭЬЕ ЮПЦСЛЕМРНБ, ВЕЛ ХЛЕЕРЯЪ ОЮПЮЛЕРПНБ Б ЯОХЯЙЕ, КХЬМХЛ ОЮПЮЛЕРПЮЛ ОПХЯБЮХБЮЧРЯЪ ОСЯРШЕ ГМЮВЕМХЪ. кХЬМХЕ ОЮПЮЛЕРПШ ХЯОНКЭГСЧРЯЪ ЙЮЙ КНЙЮКЭМШЕ ОЕПЕЛЕММШЕ.

нРЙПШБЮЧЫЮЪ ЯЙНАЙЮ Б БШГНБЕ НОПЕДЕКЕММНИ ОНКЭГНБЮРЕКЕЛ ТСМЙЖХХ ДНКФМЮ ЯКЕДНБЮРЭ МЕОНЯПЕДЯРБЕММН ГЮ ХЛЕМЕЛ ТСМЙЖХХ, АЕГ БЯЪЙХУ ОПНЛЕФСРНВМШУ whitespace. щРН МЕНАУНДХЛН ДКЪ ХГАЕФЮМХЪ ЯХМРЮЙЯХВЕЯЙХУ МЕЪЯМНЯРЕИ Я НОЕПЮЖХЪЛХ ЙНМЙЮРЕМЮЖХХ. яКНБН func ЛНФЕР АШРЭ ХЯОНКЭГНБЮМН БЛЕЯРН ЯКНБЮ function (МН МЕ Б POSIX awk).

дКЪ БНГБПЮРЮ ГМЮВЕМХЪ БШГНБНЛ МСФМН ХЯОНКЭГНБЮРЭ НОЕПЮРНП return. яЛ. ЦКЮБС 13 [тСМЙЖХХ, НОПЕДЕКЕММШЕ ОНКЭГНБЮРЕКЕЛ], ЯРП. 153.

A.7 хЯРНПХВЕЯЙЮЪ ЯОПЮБЙЮ

б МЮВЮКН ЯРПЮМХЖШ

хЛЕЧРЯЪ ДБЕ НЯНАЕММНЯРХ ХЯРНПХВЕЯЙНИ ПЕЮКХГЮЖХХ awk, ЙНРНПШЕ ОНДДЕПФХБЮЕР gawk.

бН-ОЕПБШУ, ЛНФМН БШГШБЮРЭ БЯРПНЕММСЧ ТСМЙЖХЧ length МЕ РНКЭЙН АЕГ ЮПЦСЛЕМРНБ, МН ДЮФЕ Х АЕГ ЯЙНАНЙ!

a = length ЕЯРЭ РН ФЕ ЯЮЛНЕ, ВРН Х
a = length() ХКХ  a = length($0)

мЮОПХЛЕП:

$ echo abcdef -- awk '- print length ""'
a 6

щРЮ ЙНМЯРПСЙЖХЪ ОНЛЕВЕМЮ ЙЮЙ "СЯРЮПЕБЬЮЪ" Б POSIX standard, Х gawk БШДЮЯР ОПЕДНЯРЕПЕФЕМХЕ НА ЕЕ ХЯОНКЭГНБЮМХХ, ЕЯКХ Б ЙНЛЮМДМНИ ЯРПНЙЕ СЙЮГЮМН `--lint'. (бНГЛНФМНЯРЭ ХЯОНКЭГНБЮРЭ length РЮЙХЛ ЯОНЯНАНЛ АШКЮ ТЮЙРХВЕЯЙХ ЯКСВЮИМНИ Б НПХЦХМЮКЭМНИ ПЕЮКХГЮЖХХ Unix awk. еЯКХ ЙЮЙЮЪ-МХАСДЭ БЯРПНЕММЮЪ ТСМЙЖХЪ ХЯОНКЭГСЕР $0 ЙЮЙ ЮПЦСЛЕМР ОН СЛНКВЮМХЧ, АШКН БНГЛНФМН БШГШБЮРЭ ЩРС ТСМЙЖХЧ АЕГ ЯЙНАНЙ. б ВЮЯРМНЯРХ, АШКН НАШВМНИ ОПЮЙРХЙНИ ХЯОНКЭГНБЮРЭ ТСМЙЖХЧ length РЮЙХЛ НАПЮГНЛ, Х ЩРЮ БНГЛНФМНЯРЭ АШКЮ ГЮДНЙСЛЕМРХПНБЮМЮ Б ПСЙНБНДЯРБЕ awk manual page.)

дПСЦЮЪ ХЯРНПХВЕЯЙЮЪ НЯНАЕММНЯРХ ЕЯРЭ СОНРПЕАКЕМХЕ НОЕПЮРНПНБ break ХКХ continue БМЕ РЕКЮ while, for ХКХ do ЖХЙКЮ. рПЮДХЖХНММН ПЕЮКХГЮЖХХ awk ПЮЯЯЛЮРПХБЮКХ РЮЙНЕ СОНРПЕАКЕМХЕ ЙЮЙ ЩЙБХБЮКЕМР НОЕПЮРНПЮ next. оНЯКЕДМХЕ БЕПЯХХ Unix awk ЩРНЦН МЕ ДНОСЯЙЮЧР. gawk ОНДДЕПФХБЮЕР РЮЙНЕ ХЯОНКЭГНБЮМХЕ, ЕЯКХ Б ЙНЛЮМДМНИ ЯРПНЙЕ СЙЮГЮМН `--traditional'. яЛ. ПЮГДЕК 14.1 [оЮПЮЛЕРПШ ЙНЛЮМДМНИ ЯРПНЙХ], ЯРП.161, ОН ОНБНДС ХМТНПЛЮЖХХ Н ОЮПЮЛЕРПЮУ `--posix' Х `--lint' options.

б МЮВЮКН ЯРПЮМХЖШ

<<< нЦКЮБКЕМХЕ яРПЮМХЖЮ: оПХКНФЕМХЕ A  оПХКНФЕМХЕ B. >>>
цКЮБМЮЪ мНБНЯРХ пЕЦХЯРПЮЖХЪ Б ЙКЮЯЯЕ оПНЦПЮЛЛМНЕ НАЕЯОЕВЕМХЕ оЮПЮККЕКЭМШЕ БШВХЯКЕМХЪ дНЙСЛЕМРЮЖХЪ FAQ ОН ЙКЮЯЯС

HIVE: All information for read only. Please respect copyright!
Hosted by hive йца: йХЕБЯЙЮЪ ЦНПНДЯЙЮЪ АХАКХНРЕЙЮ