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

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

нЦКЮБКЕМХЕ

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

мЮЯРНЪЫЕЕ ОПХКНФЕМХЕ ЯНДЕПФХР ЙПЮРЙХИ НАГНП ЙНЛЮМДМНИ ЯРПНЙХ gawk Х ЪГШЙЮ awk. нМ ОПЕДМЮГМЮВЕМ ДКЪ "АШЯРПШУ ЯОПЮБНЙ." хГКНФЕМХЕ ЯФЮРНЕ, МН ОНКМНЕ.

A.1 нАГНП ОЮПЮЛЕРПНБ ЙНЛЮМДМНИ ЯРПНЙХ

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

йНЛЮМДМЮЪ ЯРПНЙЮ ЯНДЕПФХР ОЮПЮЛЕРПШ ЯЮЛНИ gawk, ОПНЦПЮЛЛМШИ РЕЙЯР awk (ЕЯКХ МЕ ХЯОНКЭГСЕРЯЪ ОЮПЮЛЕРП `-f'), Х ГМЮВЕМХЪ ДКЪ СЯРЮМНБЙХ Б ОПЕДНОПЕДЕКЕММШУ awk-ОЕПЕЛЕММШУ ARGC Х ARGV:

gawk [POSIX or GNU style options] -f source-file [--] file ...
gawk [POSIX or GNU style options] [--] 'program' file ...

ОЮПЮЛЕРПШ, ЙНРНПШЕ ОПХМХЛЮЕР gawk, ЯКЕДСЧЫХЕ:

-F fs --ПЮГДЕКХРЕКЭ ОНКЕИ fs

хЯОНКЭГНБЮРЭ fs ЙЮЙ ПЮГДЕКХРЕКЭ БУНДМШУ ОНКЕИ (ГМЮВЕМХЕ ОПЕДНОПЕДЕКЕММНИ ОЕПЕЛЕММНИ FS).

-f program-file --ТЮИК Я ОПНЦПЮЛЛНИ

вХРЮРЭ ХЯУНДМСЧ awk-ОПНЦПЮЛЛС ХГ ТЮИКЮ program-file, Ю МЕ ХГ ОЕПБНЦН ЮПЦСЛЕМРЮ ЙНЛЮМДМНИ ЯРПНЙХ.

-mf NNN -mr NNN тКЮФНЙ `f' НОПЕДЕКЪЕР ЛЮЙЯХЛЮКЭМНЕ ЙНКХВЕЯРБН ОНКЕИ, Ю ТКЮФНЙ `r'--- ЛЮЙЯХЛЮКЭМШИ ПЮГЛЕП ГЮОХЯХ. gawk ХЦМНПХПСЕР ЩРХ ОЮПЮЛЕРПШ, РЮЙ ЙЮЙ НМ МЕ ХЛЕЕР ОПЕДНОПЕДЕКЕММШУ ОПЕДЕКНБ; НМХ МСФМШ РНКЭЙН ДКЪ ЯНБЛЕЯРХЛНЯРХ Я Bell Labs research БЕПЯХЕИ Unix awk.

-v var=val --ОПХЯБЮХБЮМХЕ assign var=val оПХЯБНХРЭ ОЕПЕЛЕММНИ var ГМЮВЕМХЕ val ДН МЮВЮКЮ ХЯОНКМЕМХЪ ОПНЦПЮЛЛШ.

-W traditional -W compat --traditional --compat хЯОНКЭГНБЮРЭ ПЕФХЛ ЯНБЛЕЯРХЛНЯРХ, Б ЙНРНПНЛ ПЮЯЬХПЕМХЪ gawk МЕ ДЕИЯРБСЧР.

-W copyleft -W copyright --copyleft --copyright

мЮОЕВЮРЮРЭ ЙНПНРЙСЧ БЕПЯХЧ нАЫЕИ оСАКХВМНИ КХЖЕМГХХ МЮ ЯРЮМДЮПРМНЛ БШБНДЕ Х ОПЕЙПЮРХРЭ БШОНКМЕМХЕ ОПНЦПЮЛЛШ. щРНР ОЮПЮЛЕРП ЛНФЕР АШРЭ ХЯЙКЧВЕМ ХГ АСДСЫХУ БЕПЯХИ gawk.

-W help -W usage --help --usage

мЮОЕВЮРЮРЭ ЙНПНРЙХИ НАГНП ДНЯРСОМШУ ОЮПЮЛЕРПНБ ЯРЮМДЮПРМНЦН БШБНДЮ Х ОПЕЙПЮРХРЭ ПЮАНРС.

-W lint --lint

бШДЮБЮРЭ ОПЕДСОПЕФДЕМХЪ Н ЯНЛМХРЕКЭМШУ Х МЕОЕПЕМНЯХЛШУ ЙНМЯРПСЙЖХЪУ awk.

-W lint-old --lint-old

оПЕДСОПЕФДЮРЭ Н ЙНМЯРПСЙЖХЪУ, ЙНРНПШЕ МЕДНЯРСОМШ Б НПХЦХМЮКЭМНИ БЕПЯХХ awk 7 Unix.

-W posix --posix

хЯОНКЭГНБЮРЭ POSIX-ЯНБЛЕЯРХЛШИ ПЕФХЛ, Б ЙНРНПНЛ НРЯСРЯРБСЧР ПЮЯЬХПЕМХЪ gawk Х ОПХЛЕМЪЧРЯЪ ДНОНКМХРЕКЭМШЕ НЦПЮМХВЕМХЪ.

-W re-interval --re-interval

дНОСЯЙЮЧРЯЪ ХМРЕПБЮКЭМШЕ БШПЮФЕМХЪ (ЯЛ. ПЮГДЕК 4.3 [нОЕПЮРНПШ ПЕЦСКЪПМШУ БШПЮФЕМХИ], ЯРП. 26), Б regexps.

-W source=program-text --ХЯУНДМШИ ОПНЦПЮЛЛМШИ РЕЙЯР

хЯОНКЭГНБЮРЭ ОПНЦПЮЛЛМШИ РЕЙЯР ЙЮЙ ХЯУНДМШИ РЕЙЯР awk-ОПНЦПЮЛЛШ. оЮПЮЛЕРП ОНГБНКЪЕР ЯЛЕЬХБЮРЭ ЙНД ХГ ЙНЛЮМДМНИ ЯРПНЙХ Я ХЯУНДМШЛ ЙНДНЛ ХГ ТЮИКНБ. щРН НЯНАЕММН ОНКЕГМН ДКЪ ЯЛЕЬХБЮМХЪ ОПНЦПЮЛЛ Б ЙНЛЮМДМНИ ЯРПНЙЕ Я АХАКХНРЕВМШЛХ ТСМЙЖХЪЛХ.

-W version --БЕПЯХЪ

мЮОЕВЮРЮРЭ ХМТНПЛЮЖХЧ Н БЕПЯХХ ХЯОНКЭГСЕЛНИ ЙНОХХ gawk МЮ БШУНДЕ ДКЪ НЬХАНЙ.

-- яХЦМЮК Н ЙНМЖЕ ОЮПЮЛЕРПНБ. оНКЕГЕМ ДКЪ ПЮГПЕЬЕМХЪ ДЮКЭМЕИЬХЛ ЮПЦСЛЕМРЮЛ ЯЮЛНИ awk-ОПНЦПЮЛЛШ МЮВХМЮРЭЯЪ Я `-'. нМ МСФЕМ Б НЯМНБМНЛ ДКЪ ЯНЦКЮЯНБЮМХЪ Я POSIX-ЙНМБЕМЖХЕИ НА ЮМЮКХГЕ ЮПЦСЛЕМРНБ.

бЯЕ НЯРЮКЭМШЕ ЮПЦСЛЕМРШ НРЛЕВЮЧРЯЪ ЙЮЙ МЕБЕПМШЕ Х ХЦМНПХПСЧРЯЪ. яЛ. ДЕРЮКХ Б ПЮГДЕКЕ 14.1 [оЮПЮЛЕРПШ ЙНЛЮМДМНИ ЯРПНЙХ], ЯРП.161.

A.2 нАГНП ЪГШЙЮ

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

awk-ОПНЦПЮЛЛЮ ЯНЯРНХР ХГ ОНЯКЕДНБЮРЕКЭМНЯРХ 0 ХКХ АНКЕЕ НОЕПЮРНПНБ ТНПЛШ НАПЮГЕЖ-ДЕИЯРБХЕ Х МЕНАЪГЮРЕКЭМШУ НОПЕДЕКЕМХИ ТСМЙЖХИ. б НОЕПЮРНПЮУ НАПЮГЕЖ - ДЕИЯРБХЪ КХАН НАПЮГЕЖ КХАН ДЕИЯРБХЕ ЛНЦСР НРЯСРЯРБНБЮРЭ:

pattern - action statements ""
  ...
pattern - action statements ""
function name(parameter list) - action statements ""

gawk ЯМЮВЮКЮ ВХРЮЕР ХЯУНДМСЧ ОПНЦПЮЛЛС ХГ ОПНЦПЮЛЛМНЦН ТЮИКЮ ХКХ ТЮИКНБ, ЕЯКХ РЮЙНБШЕ ХЛЕЧРЯЪ, ХКХ ХГ ОЕПБНЦН ЮПЦСЛЕМРЮ (МЕ ОЮПЮЛЕРПЮ) ЙНЛЮМДМНИ ЯРПНЙХ. оЮПЮЛЕРП `-f' ЛНФЕР АШРЭ ХЯОНКЭГНБЮМ Б ЙНЛЮМДМНИ ЯРПНЙЕ ЛМНЦН ПЮГ. gawk ВХРЮЕР ОПНЦПЮЛЛМШИ РЕЙЯР ХГ БЯЕУ ОПНЦПЮЛЛМШУ ТЮИКНБ, ЯНЕДХМЪЪ ЕЦН ВЮЯРХ Б ОНПЪДЙЕ СЙЮГЮМХЪ ТЮИКНБ. щРН ОНКЕГМН ДКЪ ОНЯРПНЕМХЪ АХАКХНРЕЙ awk-ТСМЙЖХИ, ОНГБНКЪЪ МЕ БЙКЧВЮРЭ ХУ Б ЙЮФДСЧ МНБСЧ awk-ОПНЦПЮЛЛС, ЙНРНПЮЪ ХУ ХЯОНКЭГСЕР. вРНАШ БНЯОНКЭГНБЮРЭЯЪ АХАКХНРЕВМНИ ТСМЙЖХЕИ Б ТЮИКЕ ХГ ОПНЦПЮЛЛШ, МЮОЕВЮРЮММНИ Б ЙНЛЮМДМНИ ЯРПНЙЕ, МСФМН СЙЮГЮРЭ `--source 'program'' Х БОЕВЮРЮРЭ БЮЬС ОПНЦПЮЛЛС ЛЕФДС ОПНЯРШЛХ ЙЮБШВЙЮЛХ. яЛ. ПЮГДЕК 14.1 [оЮПЮЛЕРПШ ЙНЛЮМДМНИ ЯРПНЙХ], ЯРП. 161.

оЕПЕЛЕММЮЪ НЙПСФЕМХЪ AWKPATH ЯНДЕПФХР ОСРЭ ОНХЯЙЮ ДКЪ МЮУНФДЕМХЪ ХЯУНДМШУ ТЮИКНБ, СЙЮГЮММШУ Я ОЮПЮЛЕРПНЛ `-f'. оН СЛНКВЮМХЧ ХЯОНКЭГСЕРЯЪ ОСРЭ `.:/usr/local/share/awk' *1*, ЕЯКХ AWKPATH МЕ СЯРЮМНБКЕМ. еЯКХ ХЛЪ ТЮИКЮ, СЙЮГЮММНЦН Б ОЮПЮЛЕРПЕ `-f', ЯНДЕПФХР ЯХЛБНК `/',ОСРЭ ОНХЯЙЮ МЕ ХЯОНКЭГСЕРЯЪ. яЛ. ПЮГДЕК 14.3 [оЕПЕЛЕММЮЪ НЙПСФЕМХЪ AWKPATH], ЯРП. 166.

gawk ЙНЛОХКХПСЕР ОПНЦПЮЛЛС БН БМСРПЕММЧЧ ТНПЛС, Х ГЮРЕЛ ОПНДНКФЮЕР ВХРЮРЭ ЙЮФДШИ ТЮИК, МЮГБЮММШИ Б ЛЮЯЯХБЕ ARGV. мЮВЮКЭМШЕ ГМЮВЕМХЪ ARGV АЕПСРЯЪ ХГ ЮПЦСЛЕМРНБ ЙНЛЮМДМНИ ЯРПНЙХ. еЯКХ ТЮИКШ Б ЙНЛЮМДМНИ ЯРПНЙЕ МЕ СЙЮГЮМШ, gawk ВХРЮЕР ЯРЮМДЮПРМШИ ББНД.

еЯКХ "file", МЮГБЮММШИ Б ЙНЛЮМДМНИ ЯРПНЙЕ ХЛЕЕР ТНПЛС `var=val', НМ ПЮЯЯЛЮРПХБЮЕРЯЪ ЙЮЙ ОПХЯБЮХБЮМХЕ ОЕПЕЛЕММНИ: ОЕПЕЛЕММЮЪ var ОНКСВЮЕР ГМЮВЕМХЕ val. еЯКХ ЙЮЙНИ-МХАСДЭ ХГ ТЮИКНБ ХЛЕЕР ГМЮВЕМХЕ ОСЯРНИ ЯРПНЙХ, ЩРНР ЩКЕЛЕМР Б ЯОХЯЙЕ ОПНОСЯЙЮЕРЯЪ.

йЮФДСЧ ГЮОХЯЭ БН ББНДЕ gawk ОПНБЕПЪЕР МЮ ЯННРБЕРЯРБХЕ БЯЕЛ НАПЮГЖЮЛ Б awk-ОПНЦПЮЛЛЕ. дКЪ ЙЮФДНЦН НАПЮГЖЮ, ЯННРБЕРЯРБСЧЫЕЦН ГЮОХЯХ, БШОНКМЪЕРЯЪ ЯБЪГЮММНЕ Я МХЛ ДЕИЯРБХЕ.

A.3 оЕПЕЛЕММШЕ Х ОНКЪ

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

оЕПЕЛЕММШЕ Б awk МЕ НАЗЪБКЪЧРЯЪ; НМХ МЮВХМЮЧР ЯСЫЕЯРБНБЮРЭ ОПХ ОЕПБНЛ ХУ ХЯОНКЭГНБЮМХХ. хУ ГМЮВЕМХЪЛХ ЛНЦСР АШРЭ ХКХ ВХЯКЮ Я ОКЮБЮЧЫЕИ РНВЙНИ, ХКХ ЖЕОНВЙХ.


1 оСРЭ ЛНФЕР ХЯОНКЭГНБЮРЭ ЙЮРЮКНЦХ, НРКХВМШЕ НР `/usr/local/share/awk', Б ГЮБХЯХЛНЯРХ НР РНЦН, ЙЮЙ gawk ОНЯРПНЕМ Х СЯРЮМНБКЕМ.


awk РЮЙФЕ ХЛЕЕР НДМНЛЕПМШЕ ЛЮЯЯХБШ; ЛМНЦНЛЕПМШЕ ЛЮЯЯХБШ ЛНЦСР ЛНДЕКХПНБЮРЭЯЪ. хЛЕЧРЯЪ МЕЯЙНКЭЙН ОПЕДНОПЕДЕКЕММШУ ОЕПЕЛЕММШУ, ЙНРНПШЛ awk ОПХЯБЮХБЮЕР ГМЮВЕМХЪ, ЙНЦДЮ ОПНЦПЮЛЛЮ ГЮОСЯЙЮЕРЯЪ; НМХ ОЕПЕВХЯКЪЧРЯЪ МХФЕ.

A.3.1 оНКЪ

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

йЮЙ РНКЭЙН НВЕПЕДМЮЪ БУНДМЮЪ ЯРПНЙЮ ОПНВРЕМЮ, gawk ПЮГДЕКЪЕР ЕЕ МЮ ОНКЪ, ХЯОНКЭГСЪ ГМЮВЕМХЕ Б ОЕПЕЛЕММНИ FS ЙЮЙ ПЮГДЕКХРЕКЭ ОНКЕИ. еЯКХ FS ЕЯРЭ НДХМ ЯХЛБНК, ОНКЪ ПЮГДЕКЪЧРЯЪ ЩРХЛ ЯХЛБНКНЛ. б ОПНРХБМНЛ ЯКСВЮЕ НФХДЮЕРЯЪ, ВРН FS ЕЯРЭ ОНКМНЕ ПЕЦСКЪПМНЕ БШПЮФЕМХЕ. б ЯОЕЖХЮКЭМНЛ ЯКСВЮЕ, ЙНЦДЮ FS ЕЯРЭ НДХМ ОПНАЕК, ОНКЪ ПЮГДЕКЪЧРЯЪ ЦПСООЮЛХ ОПНАЕКНБ, ЯХЛБНКНБ tab Х/ХКХ ЯХЛБНКЮЛХ newlin.*2* еЯКХ FS ЕЯРЭ ОСЯРЮЪ ЯРПНЙЮ (""), РН ЙЮФДШИ НРДЕКЭМШИ ЯХЛБНК Б ГЮОХЯХ ЯВХРЮЕРЯЪ НРДЕКЭМШЛ ОНКЕЛ. гЮЛЕРХЛ, ВРН ГМЮВЕМХЕ IGNORECASE (ЯЛ. ПЮГДЕК 4.5 [вСБЯРБХРЕКЭМНЯРЭ Й ПЕЦХЯРПС ОПХ ЯННРБЕРЯРБХХ], ЯРП. 33) РЮЙФЕ БКХЪЕР МЮ РН, ЙЮЙ ПЮГДЕКЪЧРЯЪ ОНКЪ, ЕЯКХ FS ЕЯРЭ ПЕЦСКЪПМНЕ БШПЮФЕМХЕ.

мЮ ЙЮФДНЕ ОНКЕ ББЕДЕММНИ ЯРПНЙХ ЛНФМН ЯЯШКЮРЭЯЪ ОН ЕЕ ОНГХЖХХ, $1, $2, Х Р.Д. $0 НГМЮВЮЕР БЯЧ ЯРПНЙС. гМЮВЕМХЕ ОНКЪ ЛНФМН РЮЙФЕ ОПХЯБЮХБЮРЭ ОЕПЕЛЕММШЛ. мНЛЕПЮ ОНКЕИ МЕ НАЪГЮРЕКЭМН ЙНМЯРЮМРШ:

n = 5 print $n

ОЕВЮРЮЕР ОЪРНЕ ОНКЕ ОПНВРЕММНИ ЯРПНЙХ. оЕПЕЛЕММЮЪ NF ХЛЕЕР ГМЮВЕМХЕ ЙНКХВЕЯРБЮ ОНКЕИ Б ББЕДЕММНИ ЯРПНЙЕ. яЯШКЙЮ МЮ МЕЯСЫЕЯРБСЧЫХЕ ОНКЪ (Р.Е. ОНКЪ ОНЯКЕ $NF) ДЮЕР ОСЯРНЕ ГМЮВЕМХЕ. нДМЮЙН, ОПХЯБЮХБЮМХЕ МЕЯСЫЕЯРБСЧЫЕЛС ОНКЧ (МЮОПХЛЕП, $(NF+2) = 5) СБЕКХВХБЮЕР ГМЮВЕМХЕ NF, ЯНГДЮЕР ДНОНКМХРЕКЭМШЕ ОНКЪ Я ОСЯРШЛ ГМЮВЕМХЕЛ Х ОЕПЕ БШВХЯКЪЕР ГМЮВЕМХЕ $0 Я ОНКЪЛХ, ПЮГДЕКЕММШЛХ ГМЮВЕМХЕЛ OFS. сЛЕМЭЬЕМХЕ NF ОПХБНДХР Й ОНРЕПЕ ОНКЕИ Я МНЛЕПЮЛХ, АНКЭЬХЛХ ВЕЛ МНБНЕ ГМЮВЕМХЕ Х ОЕПЕ БШВХЯКЕМХЧ $0 Я ОНКЪЛХ, ПЮГДЕКЕММШЛХ ГМЮВЕМХЕЛ OFS. яЛ. ЦКЮБС 5 [вРЕМХЕ БУНДМШУ ТЮИКНБ], ЯРП. 37.

A.3.2 бЯРПНЕММШЕ ОЕПЕЛЕММШЕ

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

gawk ХЛЕЕР ЯКЕДСЧЫХЕ БЯРПНЕММШЕ ОЕПЕЛЕММШЕ: ARGC йНКХВЕЯРБН ЩКЕЛЕМРНБ Б ARGV. (вРН РЮЙНЕ ARGV, ЯЛ. МХФЕ).

ARGIND хМДЕЙЯ Б ARGV РЕЙСЫЕЦН НАПЮАНРЮММНЦН ТЮИКЮ. йНЦДЮ gawk НАПЮАЮРШБЮЕР БУНДМШЕ ТЮИКШ Я ДЮММШЛХ, РН БЯЕЦДЮ БШПЮФЕМХЕ `FILENAME == ARGV[ARGIND]' ХЛЕЕР ГМЮВЕМХЕ true.

ARGV лЮЯЯХБ ЮПЦСЛЕМРНБ ЙНЛЮМДМНИ ЯРПНЙХ. лЮЯЯХБ ХМДЕЙЯХПСЕРЯЪ НР 0 ДН ARGC \Gamma 1. дХМЮЛХВЕЯЙНЕ ХГЛЕМЕМХЕ ARGC


2 б POSIX awk newline МЕ ПЮГДЕКЪЕР ОНКЪ.


Х ЯНДЕПФХЛНЕ ARGV ЛНЦСР СОПЮБКЪРЭ ТЮИКЮЛХ Я ДЮММШЛХ. щКЕЛЕМРШ Я ОСЯРШЛХ ГМЮВЕМХЪЛХ Б ARGV ХЦМНПХПСЧРЯЪ. ARGV МЕ ЯНДЕПФХР ОЮПЮЛЕРПНБ ДКЪ awk ХКХ РЕЙЯРЮ ЯЮЛНИ awk-ОПНЦПЮЛЛШ.

CONVFMT тНПЛЮР ЙНМБЕПЯХХ, ХЯОНКЭГСЕЛШИ ОПХ ОЕПЕБНДЕ ВХЯЕК Б ЖЕОНВЙХ.

FIELDWIDTHS пЮГДЕКЕММШИ ОПНАЕКЮЛХ ЯОХЯНЙ ВХЯЕК, НОХЯШБЮЧЫХИ БУНДМШЕ ДЮММШЕ ТХЙЯХПНБЮММНИ ЬХПХМШ.

ENVIRON лЮЯЯХБ ГМЮВЕМХИ ОЕПЕЛЕММШУ НЙПСФЕМХЪ. лЮЯЯХБ ХМДЕЙЯХПНБЮМ ХЛЕМЮЛХ ОЕПЕЛЕММШУ, ЙЮФДШИ ЩКЕЛЕМР ХЛЕЕР ГМЮВЕМХЕ ЯННРБЕРЯРБСЧЫЕИ ОЕПЕЛЕММНИ. рЮЙ, ОЕПЕЛЕММЮЪ НЙПСФЕМХЪ HOME ЕЯРЭ ENVIRON["HOME"]. нДМН ХГ БНГЛНФМШУ ГМЮВЕМХИ ЛНФЕР АШРЭ `/home/arnold'. хГЛЕМЕМХЪ ЩРНЦН ЛЮЯЯХБЮ МЕ БНГДЕИЯРБСЧР МЮ НЙПСФЕМХЕ, БХДХЛНЕ ОПНЦПЮЛЛЮЛХ, ЙНРНПШЕ ОНПНФДЮЕР gawk ВЕПЕГ ОЕПЕМЮОПЮБКЕМХЕ ХКХ ТСМЙЖХЧ system. (щРН ЛНФЕР АШРЭ ХГЛЕМЕМН Б АСДСЫХУ БЕПЯХЪУ gawk.)

мЕЙНРНПШЕ НОЕПЮЖХНММШЕ ЯХЯРЕЛШ МЕ ХЛЕЧР ОЕПЕЛЕММШУ НЙПСФЕМХЪ. лЮЯЯХБ ENVIRON НЯРЮЕРЯЪ ОСЯРШЛ ОПХ ХЯОНКМЕМХХ МЮ РЮЙХУ ЯХЯРЕЛЮУ.

ERRNO яХЯРЕЛМНЕ ЯННАЫЕМХЕ НА НЬХАЙЕ, ЙНЦДЮ ОПНХЯУНДХР НЬХАЙЮ ОПХ ХЯОНКЭГНБЮМХХ getline ХКХ close.

FILENAME хЛЪ РЕЙСЫЕЦН БУНДМНЦН ТЮИКЮ. еЯКХ Б ЙНЛЮМДМНИ ЯРПНЙЕ ТЮИКШ МЕ СЙЮГЮМШ, ГМЮВЕМХЕ FILENAME ЕЯРЭ ОСЯРЮЪ ЖЕОНВЙЮ.

FNR мНЛЕП БУНДМНИ ГЮОХЯХ Б РЕЙСЫЕЛ БУНДМНЛ ТЮИКЕ.

FS пЮГДЕКХРЕКЭ БУНДМШУ ОНКЕИ, ОН СЛНКВЮМХЧ ОПНАЕК.

IGNORECASE тКЮФНЙ ВСБЯРБХРЕКЭМНЯРХ Й ПЕЦХЯРПС ДКЪ ЯПЮБМЕМХЪ ЖЕОНВЕЙ Х НОЕПЮЖХИ Я ПЕЦСКЪПМШЛХ БШПЮФЕМХЪЛХ. еЯКХ IGNORECASE ХЛЕЕР МЕМСКЕБНЕ ГМЮВЕМХЕ, РН ОПХ НОПЕДЕКЕМХХ ЯННРБЕРЯРБХЪ НАПЮГЖНБ Б ОПЮБХКЮУ, ОПХ ПЮГДЕКЕМХХ ГЮОХЯЕИ Я RS, ПЮГДЕКЕМХХ ОНКЕИ Я FS, Б ЯННРБЕРЯРБХЪУ ПЕЦСКЪПМШУ БШПЮФЕМХИ Я `~' Х `!~', Б БЯРПНЕММШУ ТСМЙЖХЪУ gensub, gsub, index, match, split sub ХЦМНПХПСЕРЯЪ ПЕЦХЯРП Б НОЕПЮЖХЪУ Я ПЕЦСКЪПМШЛХ БШПЮФЕМХЪЛХ Х Б ЯПЮБМЕМХЪУ ЖЕОНВЕЙ. гМЮВЕМХЕ IGNORECASE МЕ БКХЪЕР МЮ ХМДЕЙЯХПНБЮМХЕ ЛЮЯЯХБНБ.

NF     йНКХВЕЯРБН ОНКЕИ Б РЕЙСЫЕИ БУНДМНИ ГЮОХЯХ.
NR     нАЫЕЕ ЙНКХВЕЯРБН БУНДМШУ ГЮОХЯЕИ, НАМЮПСФЕММШУ Й МЮЯРНЪЫЕЛС ЛНЛЕМРС.
OFMT   бШУНДМНИ ТНПЛЮР ВХЯЕК Б НОЕПЮРНПЮУ ОЕВЮРХ, "%.6g" ОН СЛНКВЮМХЧ.
OFS    пЮГДЕКХРЕКЭ БШУНДМШУ ОНКЕИ, ОПНАЕК ОН СЛНКВЮМХЧ.
ORS    пЮГДЕКХРЕКЭ БШУНДМШУ ГЮОХЯЕИ, newline ОН СЛНКВЮМХЧ.

RS пЮГДЕКХРЕКЭ БУНДМШУ ГЮОХЯЕИ, ОН СЛНКВЮМХЧ newline. еЯКХ RS ХЛЕЕР ГМЮВЕМХЕ ОСЯРНИ ЖЕОНВЙХ, РН ГЮОХЯХ ПЮГДЕКЪЧРЯЪ ОСЯРШЛХ ЯРПНЙЮЛХ. еЯКХ RS ХЛЕЕР ГМЮВЕМХЕ ОСЯРНИ ЖЕОНВЙХ, РН ЯХЛБНК newline ОНЯРНЪММН ДЕИЯРБСЕР ЙЮЙ ПЮГДЕКХРЕКЭ ОНКЕИ, Б ДНОНКМЕМХЕ Й КЧАНЛС ГМЮВЕМХЧ, ЙНРНПНЕ ЛНФЕР ХЛЕРЭ FS. еЯКХ RS ОНКСВХКН ГМЮВЕМХЕ ЛМНЦН ЯХЛБНКЭМНИ ЖЕОНВЙХ, НМН НГМЮВЮЕР regexp; БУНДМНИ РЕЙЯР, ЯННРБЕРЯРБСЧЫХИ regexp, ПЮГДЕКЪЕР ГЮОХЯХ

RT бУНДМНИ РЕЙЯР, ЯННРБЕРЯРБСЧЫХИ РЕЙЯРС, НАНГМЮВЕММНЛС Я ОНЛНЫЭЧ RS, ПЮГДЕКХРЕКЭ ГЮОХЯЕИ.

RSTART хМДЕЙЯ ОЕПБНЦН ЯХЛБНКЮ Б ОНЯКЕДМЕЛ ЯННРБЕРЯРБХХ; МНКЭ, ЕЯКХ ЯННРБЕРЯРБХЕ МЕ МЮИДЕМН.

RLENGTH дКХМЮ ЖЕОНВЙХ Б ОНЯКЕДМЕЛ МЮИДЕММНЛ ЯННРБЕРЯРБХХ; \Gamma 1 ЕЯКХ ЯННРБЕРЯРБХЪ МЕР.

SUBSEP жЕОНВЙЮ, ХЯОНКЭГСЕЛЮЪ ДКЪ ПЮГДЕКЕМХЪ ЙПЮРМШУ ХМДЕЙЯНБ Б ЩКЕЛЕМРЮУ ЛЮЯЯХБНБ, ОН СЛНКВЮМХЧ ""034". яЛ. ЦКЮБС 10 [бЯРПНЕММШЕ ОЕПЕЛЕММШЕ], ЯРП. 115, Н ОНДПНАМНЯРЪУ.

A.3.3 лЮЯЯХБШ

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

лЮЯЯХБШ ХМДЕЙЯХПСЧРЯЪ БШПЮФЕМХЪЛХ Б ЙБЮДПЮРМШУ ЯЙНАЙЮУ (`[' Х `]'). хМДЕЙЯШ ЛЮЯЯХБНБ БЯЕЦДЮ ЖЕОНВЙХ; ВХЯКЮ ОПЕБПЮЫЮЧРЯЪ Б ЖЕОНВЙХ, ЕЯКХ МСФМН, ОН ЯРЮМДЮПРМШЛ ОПЮБХКЮЛ ЙНМБЕПЯХХ (ЯЛ. ПЮГДЕК 7.4 [йНМБЕПЯХХ ЖЕОНВЕЙ Х ВХЯЕК], ЯРП. 81).

еЯКХ ХЯОНКЭГСЧРЯЪ ЙПЮРМШЕ ХМДЕЙЯШ, Р.Е. БШПЮФЕМХЪ, ПЮГДЕКЕММШЕ ГЮОЪРШЛХ, БМСРПХ ЙБЮДПЮРМШУ ЯЙНАНЙ, РН ХМДЕЙЯ ЩКЕЛЕМРЮ ЛЮЯЯХБЮ ЕЯРЭ ЙНМЙЮРЕМЮЖХЪ ГМЮВЕМХИ НРДЕКЭМШУ ХМДЕЙЯНБ, ОПЕБПЮЫЕММШУ Б ЖЕОНВЙХ Х ПЮГДЕКЕММШУ ПЮГДЕКХРЕКЕЛ ХМДЕЙЯНБ (ГМЮВЕМХЕЛ SUBSEP).

яОЕЖХЮКЭМШИ НОЕПЮРНП in ЛНФЕР ХЯОНКЭГНБЮРЭЯЪ Б СЯКНБМНЛ ЙНМРЕЙЯРЕ ДКЪ НОПЕДЕКЕМХЪ РНЦН, ЕЯРЭ КХ Б ЛЮЯЯХБЕ ЩКЕЛЕМР Я ДЮММШЛ ХМДЕЙЯНЛ:

if (val in array)
print array[val]

еЯКХ ЛЮЯЯХБ ХЛЕЕР ЙПЮРМШЕ ХМДЕЙЯШ, ХЯОНКЭГСИРЕ `(i, j, ...) in array' ДКЪ ОПНБЕПЙХ, ЕЯРЭ КХ РЮЙНИ ЩКЕЛЕМР Б ЛЮЯЯХБЕ.

йНМЯРПСЙЖХЪ in ЛНФЕР РЮЙФЕ ХЯОНКЭГНБЮРЭЯЪ Б ЖХЙКЕ for ДКЪ ХРЕПЮЖХИ ОН БЯЕЛ ЩКЕЛЕМРЮЛ ЛЮЯЯХБЮ. яЛ. ПЮГДЕК 11.5 [яЙЮМХПНБЮМХЕ БЯЕУ ЩКЕЛЕМРНБ ЛЮЯЯХБЮ], ЯРП. 127.

лНФМН СДЮКХРЭ ЩКЕЛЕМР ХГ ЛЮЯЯХБЮ Я ОНЛНЫЭЧ НОЕПЮРНПЮ delete. лНФМН НВХЯРХРЭ БЕЯЭ ЛЮЯЯХБ, БШОНКМХБ `delete array'. яЛ. ЦКЮБС 11 [лЮЯЯХБШ Б awk], ЯРП.123.

A.3.4 рХОШ ДЮММШУ

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

гМЮВЕМХЕ БШПЮФЕМХЪ Б awk БЯЕЦДЮ ХКХ ВХЯКН ХКХ ЖЕОНВЙЮ. мЕЙНРНПШЕ ЙНМРЕЙЯРШ (РЮЙХЕ ЙЮЙ ЮПХТЛЕРХВЕЯЙХЕ НОЕПЮРНПШ) РПЕАСЧР ВХЯКНБШЕ ГМЮВЕМХЪ. нМХ ЙНМБЕПРХПСЧР ЖЕОНВЙХ Б ВХЯКЮ, ХМРЕПОПЕРХПСЪ РЕЙЯР ЖЕОНВЙХ ЙЮЙ ВХЯКН. еЯКХ ЖЕОНВЙЮ МЕ ОНУНФЮ МЮ ВХЯКН, НМЮ ЙНМБЕПРХПСЕРЯЪ Б 0.

дПСЦХЕ ЙНМРЕЙЯРШ (РЮЙХЕ ЙЮЙ ЙНМЙЮРЕМЮЖХЪ) РПЕАСЧР Б ЙЮВЕЯРБЕ ГМЮВЕМХЪ ЖЕОНВЙХ. нМХ ЙНМБЕПРХПСЧР ВХЯКЮ Б ЖЕОНВЙХ, ТЮЙРХВЕЯЙХ ОЕВЮРЮЪ ХУ ОН sprintf. яЛ. ДЕРЮКХ Б ПЮГДЕКЕ 7.4 [йНМБЕПЯХХ ЖЕОНВЕЙ Х ВХЯЕК], ЯРП. 81.

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

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

яПЮБМЕМХЪ ОПНХГБНДХРЯЪ ВХЯКЕММН, ЕЯКХ НАЮ НОЕПЮМДЮ ВХЯКЮ ХКХ НДХМ ЕЯРЭ ВХЯКН, Ю ДПСЦНИ ЕЯРЭ ЖЕОНВЙЮ-ВХЯКН. б ДПСЦХУ ЯКСВЮЪУ НДХМ ХКХ НАЮ НОЕПЮМДЮ ЙНМБЕПРХПСЧРЯЪ Б ЖЕОНВЙХ Х ОПНХЯУНДХР ЯПЮБМЕМХЕ ЖЕОНВЕЙ. оНКЪ, ББНД ОН getline, FILENAME, ЩКЕЛЕМРШ ARGV, ЩКЕЛЕМРШ ENVIRON Х ЩКЕЛЕМРШ ЛЮЯЯХБЮ, НАПЮГНБЮММШЕ ОН split, ЪБКЪЧРЯЪ ЕДХМЯРБЕММН НАЗЕЙРЮЛХ, ЙНРНПШЕ ЛНЦСР АШРЭ ВХЯКНБШЛХ ЖЕОНВЙЮЛХ. яРПНЙНБШЕ ЙНМЯРЮМРШ, РЮЙХЕ ЙЮЙ "3.1415927", МЕ ЪБКЪЧРЯЪ ВХЯКЕММШЛХ ЖЕОНВЙЮЛХ, НМХ ЕЯРЭ ЯРПНЙНБШЕ ЙНМЯРЮМРШ. оНКМШЕ ОПЮБХКЮ ЯПЮБМЕМХЪ НОХЯЮМШ Б ПЮГДЕКЕ 7.10 [рХОШ ОЕПЕЛЕММШУ Х ЯПЮБМЕМХЕ БШПЮФЕМХИ], ЯРП. 88.

мЕХМХЖХЮКХГХПНБЮММШЕ ОЕПЕЛЕММШЕ ХЛЕЧР ГМЮВЕМХЕ ЖЕОНВЙХ "" (МСКЕБЮЪ ХКХ ОСЯРЮЪ ЖЕОНВЙЮ). б ЙНМРЕЙЯРЕ, РПЕАСЧЫЕЛ ВХЯКН, ЩРН ЩЙБХБЮКЕМР МСКЪ. яЛ. ОНДПНАМНЯРХ Н МЮХЛЕМНБЮМХХ Х ХМХЖХЮКХГЮЖХХ ОЕПЕЛЕММШУ Б ПЮГДЕКЕ 7.3 [оЕПЕЛЕММШЕ], ЯРП. 79; ЯЛ. ПЮГДЕК 7.4 [йНМБЕПЯХХ ЖЕОНВЕЙ Х ВХЯЕК], ЯРП. 81, Н РНЛ ЙЮЙ ХМРЕПОПЕРХПСЧРЯЪ ГМЮВЕМХЪ ОЕПЕЛЕММШУ.

A.4 нАПЮГЖШ

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

awk-ОПНЦПЮЛЛШ АНКЭЬЕИ ВЮЯРЭЧ ЯНЯРЮБКЕМШ ХГ ОПЮБХК, ЙЮФДНЕ ЯНЯРНХР ХГ НАПЮГЖЮ Х ЯКЕДСЧЫЕЦН ГЮ МХЛ ДЕИЯРБХЪ. дЕИЯРБХЕ ГЮЙКЧВЕМН ЛЕФДС n `-' Х `""'. б ЩРНИ ОЮПЕ ЛНФЕР НРЯСРЯРБНБЮРЭ КХАН НАПЮГЕЖ, КХАН ДЕИЯРБХЕ, МН МЕ НАЮ БЛЕЯРЕ. еЯКХ МЕР НАПЮГЖЮ, ДЕИЯРБХЕ БШОНКМЪЕРЯЪ ДКЪ БЯЪЙНИ БУНДМНИ ГЮОХЯХ. нРЯСРЯРБХЕ ДЕИЯРБХЪ ЩЙБХБЮКЕМРМН `- print ""', ЙНРНПШИ ОЕВЮРЮЕР ЖЕКСЧ ЯРПНЙС.

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

мЕЯЙНКЭЙН НОЕПЮРНПНБ ЛНЦСР ПЮЯОНКЮЦЮРЭЯЪ Б НДМНИ ЯРПНЙЕ, ЕЯКХ НМХ ПЮГДЕКЕМШ ЯХЛБНКЮЛХ `;'. щРН ОПХЛЕМХЛН ЙЮЙ Й НОЕПЮРНПЮЛ БМСРПХ ДЕИЯРБХЪ ОПЮБХКЮ, РЮЙ Х Й ЯЮЛХЛ НОЕПЮРНПЮЛ ОПЮБХК.

яЛ. ПЮГДЕКЕ 2.2.5 [йНЛЛЕМРЮПХХ Б awk-ОПНЦПЮЛЛЮУ], ЯРП. 13, ДКЪ ХМТНПЛЮЖХХ Н ЯНЦКЮЬЕМХЪУ awk НРМНЯХРЕКЭМН ЙНЛЛЕМРЮПХЕБ; ЯЛ. ПЮГДЕК 2.6 [нОЕПЮРНПШ awk Х ЯРПНЙХ], ЯРП. 17, Я НОХЯЮМХЕ ЛЕУЮМХГЛЮ ОПНДНКФЕМХЪ ЯРПНЙ Б awk.

A.4.1 нАГНП НАПЮГЖНБ

б МЮВЮКН ЯРПЮМХЖШ
нАПЮГЖНЛ Б awk ЛНФЕР АШРЭ НДМН ХГ ЯКЕДСЧЫХУ:
 /ПЕЦСКЪПМНЕ БШПЮФЕМХЕ/;
 НРМНЯХРЕКЭМШЕ БШПЮФЕМХЪ БХДНБ:
 pattern && pattern
 pattern ---- pattern
 ! pattern
 ? pattern : pattern (pattern);
 ДХЮОЮГНМ pattern1, pattern2
 BEGIN
 END

BEGIN Х END ЕЯРЭ ДБЮ ЯОЕЖХЮКЭМШУ ПНДЮ НАПЮГЖНБ, ЙНРНПШЕ ЯНОНЯРЮБКЪЧРЯЪ Я ББНДНЛ. дЕИЯРБХЪ БЯЕУ ОПЮБХК BEGIN ЯЖЕОКЪЧРЯЪ ЙЮЙ ЕЯКХ АШ НОЕПЮРНПШ АШКХ МЮОХЯЮМШ Б НДМНЛ ОПЮБХКЕ BEGIN. нМХ БШОНКМЪЧРЯЪ ДН МЮВЮКЮ ВРЕМХЪ ББНДЮ. оНДНАМШЛ ФЕ НАПЮГНЛ ЯНЕДХМЪЧРЯЪ БЯЕ ОПЮБХКЮ END Х БШОНКМЪЧРЯЪ ОНЯКЕ ГЮБЕПЬЕМХЪ ББНДЮ (ХКХ ЙНЦДЮ БШОНКМЪЕРЯЪ НОЕПЮРНП exit). нАПЮГЖШ BEGIN Х END МЕ ЛНЦСР ЙНЛАХМХПНБЮРЭЯЪ Я ДПСЦХЛХ НАПЮГЖЮЛХ Б БШПЮФЕМХЪУ pattern. б ОПЮБХКЮУ BEGIN Х END ДЕИЯРБХЪ МЕ ЛНЦСР АШРЭ ОПНОСЫЕМШ.

дКЪ НАПЮГЖЮ БХДЮ /regular-expression/ ЯБЪГЮММШИ Я МХЛ НОЕПЮРНП БШОНКМЪЕРЯЪ ДКЪ ЙЮФДНИ БУНДМНИ ГЮОХЯХ, ЙНРНПЮЪ ЯННРБЕРЯРБСЕР ПЕЦСКЪПМНЛС БШПЮФЕМХЧ. пЕЦСКЪПМШЕ БШПЮФЕМХЪ ЙПЮРЙН НУЮПЮЙРЕПХГНБЮМШ МХФЕ.

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

нОЕПЮРНПШ `&&', `----' Х `!' ЕЯРЭ ЯННРБЕРЯРБЕММН КНЦХВЕЯЙНЕ "Х", КНЦХВЕЯЙНЕ "ХКХ" Х КНЦХВЕЯЙНЕ "МЕР", ЮМЮКНЦХВМН ЪГШЙС яХ. нМХ ДЕКЮЧР ЙНПНРЙНГЮЛЙМСРШЕ НЖЕМЙХ ЙЮЙ Х Б яХ, Х ХЯОНКЭГСЧРЯЪ ДКЪ БШПЮФЕМХИ-НАПЮГЖНБ. йЮЙ Х Б АНКЭЬХМЯРБЕ ЪГШЙНБ, ЯЙНАЙХ ЛНЦСР ХЯОНКЭГНБЮРЭЯЪ ДКЪ ХГЛЕМЕМХЪ ОНПЪДЙЮ ДЕИЯРБХИ.

нОЕПЮРНП `?:' ОНДНАЕМ РЮЙНЛС ФЕ НОЕПЮРНПС Б яХ. еЯКХ ОЕПБШИ НАПЮГЕЖ ЯННРБЕРЯРБСЕР, РН БРНПНИ НАПЮГЕЖ ОПНБЕПЪЕРЯЪ МЮ ЯННРБЕРЯРБХЕ БУНДМНИ ГЮОХЯХ; Б ОПНРХБМНЛ ЯКСВЮЕ ОПНБЕПЪЕРЯЪ МЮ ЯННРБЕРЯРБХЕ РПЕРХИ НАПЮГЕЖ. нЙНМВЮРЕКЭМН ЯННРБЕРЯРБНБЮРЭ ГЮОХЯХ ЛНФЕР РНКЭЙН БРНПНИ ХКХ РПЕРХИ НАПЮГЕЖ.

нАПЮГЕЖ БХДЮ `pattern1, pattern2' МЮГШБЮЕРЯЪ ДХЮОЮГНММШЛ НАПЮГЖНЛ. нМ ЯННРБЕРЯРБСЕР БЯЕЛ БУНДМШЛ ГЮОХЯЪЛ, МЮВХМЮЪ Я ГЮОХЯХ, НРБЕВЮЧЫЕИ НАПЮГЖС pattern1, Х ЙНМВЮЪ БЙКЧВХРЕКЭМН ГЮОХЯЭЧ, НРБЕВЮЧЫЕИ НАПЮГЖС pattern2. яЛ. ПЮГДЕК 8.1 [щКЕЛЕМРШ-НАПЮГЖШ], ЯРП. 97.

A.4.2 пЕЦСКЪПМШЕ БШПЮФЕМХЪ

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

пЕЦСКЪПМШЕ БШПЮФЕМХЪ (ДКЪ ЙПЮРЙНЯРХ regexp) НЯМНБШБЮЧРЯЪ МЮ POSIX EREs (ПЮЯЬХПЕММШЕ ПЕЦСКЪПМШЕ БШПЮФЕМХЪ). сОПЮБКЪЧЫХЕ ОНЯКЕДНБЮРЕКЭМНЯРХ, ДНОСЯРХЛШЕ Б ЙНМЯРЮМРЮУ-ЖЕОНВЙЮУ, РЮЙФЕ ДЕИЯРБХРЕКЭМШ Б ПЕЦСКЪПМШУ БШПЮФЕМХЪУ (ЯЛ. ПЮГДЕК 4.2 [сОПЮБКЪЧЫХЕ ОНЯКЕДНБЮРЕКЭМНЯРХ], ЯРП. 24). Regexps ЯНЯРЮБКЪЧРЯЪ ХГ ЯХЛБНКНБ ОНДНАМН ЯКЕДСЧЫЕЛС:

c ЯННРБЕРЯРБСЕР ЯХЛБНКС c (ОПЕДОНКЮЦЮЕРЯЪ , ВРН Я МЕ ЯНБОЮДЮЕР МХ Я НДМХЛ ХГ ОЕПЕВХЯКЕММШУ МХФЕ ЯХЛБНКНБ).

"c ЯННРБЕРЯРБСЕР АСЙБЮКЭМН ЯХЛБНКС c. . ЯННРБЕРЯРБСЕР КЧАНЛС ЯХЛБНКС, БЙКЧВЮЪ newline. б ЯРПНЦНЛ ПЕФХЛЕ POSIX `.' МЕ ЯННРБЕРЯРБСЕР ОСЯРНЛС ЯХЛБНКС, ЯНЯРНЪЫЕЛС РНКЭЙН ХГ МСКЕБШУ АХРНБ.

^ ЯННРБЕРЯРБСЕР МЮВЮКС ЖЕОНВЙХ.
$ ЯННРБЕРЯРБСЕР ЙНМЖС ЖЕОНВЙХ.

[abc...] ЯННРБЕРЯРБСЕР КЧАНЛС ХГ ЯХЛБНКНБ abc . . . (ЯОХЯНЙ ЯХЛБНКНБ). [[:class:]] ЯННРБЕРЯРБСЕР КЧАНЛС ЯХЛБНКС ХГ ЙКЮЯЯЮ class.

дНОСЯЙЮЧРЯЪ ЯКЕДСЧЫХЕ ЙКЮЯЯШ:

alnum, alpha, blank, cntrl, digit, graph, lower, print, punct, space, upper, xdigit.

[[.symbol.]] ЯННРБЕРЯРБСЕР ЛМНЦН ЯХЛБНКЭМНЛС collating symbol ЯХЛБНКС. gawk МЕ ОНДДЕПФХБЮЕР collating symbols (СОНПЪДНВХБЮЧЫХЕ ЯХЛБНКШ). [[=classname=]] ЯННРБЕРЯРБСЕР КЧАНЛС ХГ ЩЙБХБЮКЕМРМШУ ЯХЛБНКНБ Б РЕЙСЫЕЛ КНЙЮКЭМН МЮГБЮММНЛ ОН ЩЙБХБЮКЕМРМНЯРХ ЙКЮЯЯЕ.

б МЮЯРНЪЫЕЕ БПЕЛЪ gawk МЕ ОНДДЕПФХБЮЕР ЙКЮЯЯШ ЩЙБХБЮКЕМРМНЯРХ. [^abc...] ЯННРБЕРЯРБСЕР КЧАНЛС ЯХЛБНКС ЙПНЛЕ abc . . . (ЯОХЯНЙ НРПХЖЮЕЛШУ ЯХЛБНКНБ).

r1--r2 ЯННРБЕРЯРБСЕР КХАН  r1 КХАН r2 (ЮКЭРЕПМЮРХБЮ).
r1r2 ЯННРБЕРЯРБСЕР ЯМЮВЮКЮ r1, Ю ГЮРЕЛ r2 (ЙНМЙЮРЕМЮЖХЪ).
r+ ЯННРБЕРЯРБСЕР НДМНЛС ХКХ АНКЕЕ ЯНЯЕДМХУ r.
r* ЯННРБЕРЯРБСЕР МСКЧ ХКХ АНКЕЕ ЯНЯЕДМХУ r.
r? ЯННРБЕРЯРБСЕР МХ НДМНЛС ХКХ  НДМНЛС r.
(r) ЯННРБЕРЯРБСЕР  r (ЦПСООХПНБЙЮ).

r-n"" r-n,"" r-n,m"" НРБЕВЮЧР ЙНКХВЕЯРБЮЛ БУНФДЕМХИ Ц ЯННРБЕРЯРБЕММН МЕ ЛЕМЭЬЕ ВЕЛ n, n ХКХ АНКЭЬЕ ДН МЕЙНРНПНЦН МНЛЕПЮ, НР n ДН m (ХМРЕПБЮКЭМШЕ БШПЮФЕМХЪ).

"y  яННРБЕРЯРБСЕР ОСЯРНИ ЖЕОНВЙЕ Б МЮВЮКЕ ХКХ ЙНМЖЕ ЯКНБЮ.

"B  яННРБЕРЯРБСЕР ОСЯРНИ ЖЕОНВЙЕ  БМСРПХ ЯКНБЮ.
"!  яННРБЕРЯРБСЕР ОСЯРНИ ЖЕОНВЙЕ Б МЮВЮКЕ ЯКНБЮ.
"?  яННРБЕРЯРБСЕР ОСЯРНИ ЖЕОНВЙЕ Б ЙНМЖЕ ЯКНБЮ.
"w  яННРБЕРЯРБСЕР КЧАНЛС ЯХЛБНКС, ЛНЦСЫЕЛС БУНДХРЭ Б ЯНЯРЮБ ЯКНБЮ 
	(АСЙБЮ, ЖХТПЮ Х ОНДВЕПЙХБЮМХЕ).
"W  яННРБЕРЯРБСЕР КЧАНЛС ЯХЛБНКС, МЕ ЛНЦСЫЕЛС БУНДХРЭ Б ЯНЯРЮБ ЯКНБЮ.
"`  яННРБЕРЯРБСЕР ОСЯРНИ ЖЕОНВЙЕ Б МЮВЮКЕ АСТЕПЮ 
	(РН ФЕ ЯЮЛНЕ, ВРН ЖЕОНВЙЮ Б gawk).
"'  яННРБЕРЯРБСЕР ОСЯРНИ ЖЕОНВЙЕ Б ЙНМЖЕ АСТЕПЮ.

пЮГКХВМШЕ ОЮПЮЛЕРПШ ЙНЛЮМДМНИ ЯРПНЙХ СОПЮБКЪЧР ХМРЕПОПЕРЮЖХЕИ gawk ЯХЛБНКНБ Б regexps.

йНЦДЮ ОЮПЮЛЕРПНБ МЕР

оН СЛНКВЮМХЧ gawk НАЕЯОЕВХБЮЕР БЯЕ ЯПЕДЯРБЮ POSIX regexps Х GNU regexp НОЕПЮРНПНБ, НОХЯЮММШУ БШЬЕ. нДМЮЙН, ХМРЕПБЮКЭМШЕ БШПЮФЕМХЪ МЕ ОНДДЕПФХБЮЧРЯЪ.

--posix оНДДЕПФХБЮЧРЯЪ РНКЭЙН POSIX regexps, НОЕПЮРНПШ GNU МЕ ЪБКЪЧРЯЪ ЯОЕЖХЮКЭМШЛХ (МЮОПХЛЕП, `"w' ЯННРБЕРЯРБСЕР КХРЕПЮКС `w'). дНОСЯЙЮЧРЯЪ ХМРЕПБЮКЭМШЕ БШПЮФЕМХЪ.

--traditional яННРБЕРЯРБСЕР РПЮДХЖХНММШЛ Unix awk regexps. нОЕПЮРНПШ GNU МЕ ЪБКЪЧРЯЪ ЯОЕЖХЮКЭМШЛХ. хМРЕПБЮКЭМШЕ БШПЮФЕМХЪ МЕ ДНОСЯЙЮЧРЯЪ, РЮЙФЕ ЙЮЙ ЯХЛБНКЭМШЕ ЙКЮЯЯШ POSIX ([[:alnum:]] Х ОПНВХЕ). яХЛБНКШ, НОХЯШБЮЕЛШЕ БНЯЭЛЕПХВМШЛХ Х ЬЕЯРМЮДЖЮРЕПХВМШЛХ СОПЮБКЪЧЫХЛХ ОНЯКЕДНБЮРЕКЭМНЯРЪЛХ РПЮЙРСЧРЯЪ АСЙБЮКЭМН, ДЮФЕ ЕЯКХ НМХ ОПЕДЯРЮБКЪЧР ЛЕРЮЯХЛБНКШ regexp.

--re-interval дНОСЯЙЮЧРЯЪ ХМРЕПБЮКЭМШЕ БШПЮФЕМХЪ Б regexps, ДЮФЕ ЕЯКХ АШК СЙЮГЮМ `--traditional'. яЛ. ЦКЮБС 4 [пЕЦСКЪПМШЕ БШПЮФЕМХЪ], ЯРП. 23.

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

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

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