пСЙНБНДЯРБН ОНКЭГНБЮРЕКЪ ДКЪ GNU Awk
оПХКНФЕМХЕ A. нАГНП gawk
A.5 дЕИЯРБХЪнОЕПЮРНПШ ДЕИЯРБХИ ГЮЙКЧВЮЧРЯЪ Б ЯЙНАЙХ `-' Х `""'. нРЯСРЯРБХЕ ДЕИЯРБХИ ЩЙБХБЮКЕМРМН `- print ""'. нОЕПЮРНПЮЛХ ДЕИЯРБХИ ЛНЦСР АШРЭ НОЕПЮРНПШ ОПХЯБЮХБЮМХЪ, СЯКНБМШЕ НОЕПЮРНПШ, НОЕПЮРНПШ ЖХЙКНБ, НОЕПЮРНПШ ББНДЮ/БШБНДЮ Х ДПСЦХЕ НОЕПЮРНПШ , ХЛЕЧЫХЕЯЪ Б яХ Х ДПСЦХУ ЪГШЙЮУ. йНЛЛЕМРЮПХХ МЮВХМЮЧРЯЪ Я ЯХЛБНКЮ `#'Х ОПНДНКФЮЧРЯЪ ДН ЙНМЖЮ ЯРПНЙХ. дКЪ ПЮГДЕКЕМХЪ НОЕПЮРНПНБ ЛНЦСР ХЯОНКЭГНБЮРЭЯЪ ОСЯРШЕ ЯРПНЙХ. мНПЛЮКЭМН НОЕПЮРНПШ ГЮЙЮМВХБЮЧРЯЪ ЯХЛБНКНЛ newline; НДМЮЙН, ЩРН МЕ РЮЙ Б ЯКСВЮЕ ЯРПНЙ, НЙЮМВХБЮЧЫХУЯЪ МЮ `,', `-', `?', `:', `&&', or `----'. яРПНЙХ, НЙЮМВХБЮЧЫХЕЯЪ МЮ do ХКХ else РЮЙФЕ ЮБРНЛЮРХВЕЯЙХ ОПНДНКФЮЧР ХУ НОЕПЮРНПШ МЮ ЯКЕДСЧЫСЧ ЯРПНЙС. б ДПСЦХУ ЯКСВЮЪУ ЯРПНЙЮ ЛНФЕР АШРЭ ОПНДНКФЕМЮ ГМЮЙНЛ `"', Х Б ЩРНЛ ЯКСВЮЕ newline ХЦМНПХПСЕРЯЪ. мЕЯЙНКЭЙН НОЕПЮРНПНБ ЛНЦСР ПЮЯОНКЮЦЮРЭЯЪ Б НДМНИ ЯРПНЙЕ, ПЮГДЕКЕММШЕ ГМЮЙНЛ `;'. щРН ОПХЛЕМХЛН ЙЮЙ Й НОЕПЮРНПЮЛ БМСРПХ ДЕИЯРБХЪ Б ОПЮБХКЕ (НАШВМШИ ЯКСВЮИ), РЮЙ Х Й ЯЮЛХЛ НОЕПЮРНПЮЛ ОПЮБХК. яЛ. ПЮГДЕК 2.2.5 [йНЛЛЕМРЮПХХ Б awk-ОПНЦПЮЛЛЮУ], ЯРП. 13, ДКЪ ХМТНПЛЮЖХХ НА ЙНЛЛЕМРЮПХЪУ Б awk. нОХЯЮМХЕ ЛЕУЮМХГЛЮ ОПНДНКФЕМХЪ ЯРПНЙ ЯЛ. Б ПЮГДЕКЕ 2.6 [нОЕПЮРНПШ awk Х ЯРПНЙХ], ЯРП. 17. A.5.1 нОЕПЮРНПШ(...) цПСООХПНБЙЮ. $ яЯШКЙЮ МЮ ОНКЕ. ++ -- сБЕКХВЕМХЕ Х СЛЕМЭЬЕМХЕ, ЙЮЙ ОПЕТХЙЯМШЕ, РЮЙ Х ОНЯРТХЙЯМШЕ. ^ бНГБЕДЕМХЕ Б ЯРЕОЕМЭ (`**' РЮЙФЕ ЛНФМН СОНРПЕАКЪРЭ, Х `**=' ДКЪ НОЕПЮРНПНБ ОПХЯБЮХБЮМХЪ, МН НМХ МЕ СЙЮГЮМШ Б 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
getline var
getline var !file
command -- getline
next
nextfile
print
print expr-list
print expr-list ? file
print expr-list ?? file
print expr-list -- command
printf fmt, expr-list
printf fmt, expr-list ? file
printf fmt, expr-list ?? file
printf fmt, expr-list -- command getline БНГБПЮЫЮЕР 0 ОПХ ЙНМЖЕ ТЮИКЮ, Х \Gamma 1 ОПХ НЬХАЙЕ. б ЯКСВЮЕ НЬХАЙХ getline СЯРЮМЮБКХБЮЕР ERRNO МЮ ГМЮВЕМХЕ ЯХЯРЕЛМНИ ЖЕОНВЙХ Я НОХЯЮМХЕЛ НЬХАЙХ. A.5.4 нАГНП printf
яОЕЖХТХЙЮЖХЪ ЙНМБЕПЯХХ ХЛЕЕР ТНПЛС 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'
`/dev/ppid'
`/dev/pgrpid'
`/dev/user' щРХ ХЛЕМЮ ТЮИКНБ ЛНЦСР АШРЭ РЮЙФЕ ХЯОНКЭГНБЮМШ Б ЙНЛЮМДМНИ ЯРПНЙЕ ДКЪ МЮХЛЕМНБЮМХЪ ТЮИКНБ Я ДЮММШЛХ. щРХ ХЛЕМЮ ПЮЯОНГМЮЧРЯЪ РНКЭЙН БМСРПЕММХЛ НАПЮГНЛ, ЕЯКХ БШ ТЮЙРХВЕЯЙХ МЕ ХЛЕЕРЕ ТЮИКНБ Я РЮЙХЛХ ХЛЕМЮЛХ Б БЮЬЕИ ЯХЯРЕЛЕ. яЛ. ПЮГДЕК 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])
system(cmd-line) `system("")' МЕКЭГЪ ХЯОНКЭГНБЮРЭ ДКЪ ОНАСФДЕМХЪ awk БШЙКЧВХРЭ ЙЮЙНИ-МХАСДЭ КХЬМХИ БШБНД. щРН АНКЕЕ ОЕПЕМНЯХЛН, МН ЛЕМЕЕ ОНМЪРМН, ВЕЛ БШГНБ fflush. A.5.7 тСМЙЖХХ ЯКСФАШ БПЕЛЕМХдБЕ ЯКЕДСЧЫХЕ ТСМЙЖХХ ДЮЧР БНГЛНФМНЯРЭ СГМЮРЭ РЕЙСЫЕЕ БПЕЛЪ Х ТНПЛЮРХПНБЮРЭ НРЛЕРЙХ БПЕЛЕМХ. нМХ ЕЯРЭ РНКЭЙН Б gawk.
systime()
strftime([format[, timestamp]]) 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 НОПЕДЕКЪЧРЯЪ РЮЙ: нРЙПШБЮЧЫЮЪ ЯЙНАЙЮ Б БШГНБЕ НОПЕДЕКЕММНИ ОНКЭГНБЮРЕКЕЛ ТСМЙЖХХ ДНКФМЮ ЯКЕДНБЮРЭ МЕОНЯПЕДЯРБЕММН ГЮ ХЛЕМЕЛ ТСМЙЖХХ, АЕГ БЯЪЙХУ ОПНЛЕФСРНВМШУ 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. | >>> |