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

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

1. бБЕДЕМХЕ

нЦКЮБКЕМХЕ

еЯКХ БШ ОНДНАМШ АНКЭЬХМЯРБС ЙНЛОЭЧРЕПМШУ ОНКЭГНБЮРЕКЕИ, БЮЛ ВЮЯРН МСФМН БМНЯХРЭ ХГЛЕМЕМХЪ Б ПЮГКХВМШЕ РЕЙЯРНБШЕ ТЮИКШ, ЯНДЕПФЮЫХЕ НОПЕДЕКЕММШЕ РЕЙЯРНБШЕ ТНПЛШ ХКХ ХГБКЕЙЮРЭ ДЮММШЕ ХГ ВЮЯРЕИ МЕЙНРНПШУ ЯРПНЙ, МЕ НАПЮЫЮЪ БМХЛЮМХЕ МЮ НЯРЮКЭМНЕ. мЮОХЯЮРЭ ОПНЦПЮЛЛС ДКЪ ЩРНЦН МЮ ЪГШЙЕ, ОНДНАМНЛ яХ ХКХ оЮЯЙЮКЭ, ДНБНКЭМН РПСДМН, РПЕАСЕР ЛМНЦН БПЕЛЕМХ Х ЛМНЦХУ ЯРПНЙ ЙНДЮ. цНПЮГДН ОПНЫЕ ЯДЕКЮРЭ ЩРН Я ОНЛНЫЭЧ awk.

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

пЕЮКХГЮЖХЪ GNU ЯПЕДЯРБ awk МНЯХР МЮГБЮМХЕ Gawk; НМЮ ОНКМНЯРЭЧ ЯНБЛЕЯРХЛЮ ББЕПУ Я ЯХЯРЕЛНИ V Release БЕПЯХХ 4 ЪГШЙЮ awk. Gawk РЮЙФЕ ЯНБЛЕЯРХЛ ББЕПУ Я ЯОЕЖХТХЙЮЖХЕИ POSIX ЪГШЙЮ awk. щРН НГМЮВЮЕР, ВРН БЯЕ ОПЮБХКЭМН МЮОХЯЮММШЕ ОПНЦПЮЛЛШ awk АСДСР ПЮАНРЮРЭ Я gawk. оНЩРНЛС ЛШ НАШВМН МЕ ДЕКЮЕЛ ПЮГКХВХИ ЛЕФДС gawk Х ДПСЦХЛХ ХМРЕПОПЕРЮРНПЮЛХ awk.

я ОНЛНЫЭЧ  awk БШ ЛНФЕРЕ:
   СОПЮБКЪРЭ МЕАНКЭЬХЛХ ОЕПЯНМЮКЭМШЛХ АЮГЮЛХ ДЮММШУ,
   ЦЕМЕПХПНБЮРЭ НРВЕРШ,
   НАНЯМНБШБЮРЭ ДЮММШЕ,
   ЯРПНХРЭ ХМДЕЙЯШ Х ОПНХГБНДХРЭ ДПСЦХЕ ПЮАНРШ Я ДНЙСЛЕМРЮЛХ,
   Х ДЮФЕ ЩЙЯОЕПХЛЕМРХПНБЮРЭ Я ЮКЦНПХТЛЮЛХ, ЙНРНПШЕ ОНРНЛ АСДСР ЮДЮОРХПНБЮМШ
   Й ДПСЦХЛ ЙНЛОЭЧРЕПМШЛ ЪГШЙЮЛ.	

1.1 йЮЙ ОНКЭГНБЮРЭЯЪ ЩРНИ ЙМХЦНИ

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

рЕПЛХМ awk НРМНЯХРЯЪ ЙЮЙ Й ЙНМЙПЕРМНИ ОПНЦПЮЛЛЕ, РЮЙ Х Й ЪГШЙС, ЙНРНПШЛ БШ ОНКЭГСЧЕРЕЯЭ, ВРНАШ ЯЙЮГЮРЭ ЩРНИ ОПНЦПЮЛЛЕ, ВРН МСФМН ДЕКЮРЭ. йНЦДЮ ЛШ УНРХЛ АШРЭ РНВМШЛХ, ЛШ МЮГШБЮЕЛ ОПНЦПЮЛЛС "ОПНЦПЮЛЛЮ awk", Ю ЪГШЙ -- "ЪГШЙ awk." рЕПЛХМ gawk НРМНЯХРЯЪ Й БЕПЯХХ awk, ПЮГПЮАНРЮММНИ ЙЮЙ ВЮЯРЭ ОПНЕЙРЮ GNU. жЕКЭ МЮЯРНЪЫЕИ ЙМХЦХ --- НОХЯЮРЭ ЙЮЙ ЪГШЙ awk, РЮЙ Х ОПЮБХКЮ ХЯОНКМЕМХЪ ОПНЦПЮЛЛШ awk.

цКЮБМНЕ МЮГМЮВЕМХЕ ЙМХЦХ ---- НАЗЪЯМХРЭ ЯБНИЯРБЮ awk ЯНЦКЮЯМН ЯРЮМДЮПРС POSIX. щРН ДЕКЮЕРЯЪ Б ЙНМРЕЙЯРЕ НДМНИ ХГ ПЕЮКХГЮЖХИ, Ю ХЛЕММН gawk. дЕКЮЪ ЩРН, ЛШ РЮЙФЕ ЯРЮПЮЕЛЯЪ НОХЯЮРЭ НЯМНБМШЕ ПЮГКХВХЪ ЛЕФДС gawk Х ДПСЦХЛХ ПЕЮКХГЮЖХЪЛХ awk. оПХ ЩРНЛ ЛШ НРЛЕВЮЕЛ ЙЮФДНЕ ЯБНИЯРБН gawk, ЙНРНПНЦН МЕР Б ЯРЮМДЮПРЕ POSIX ДКЪ awk.

оЕПЕД ЙМХЦНИ ЯРНХР РПСДМЮЪ ГЮДЮВЮ АШРЭ НДМНБПЕЛЕММН СВЕАМХЙНЛ Х ЯОПЮБНВМХЙНЛ. еЯКХ БШ МНБХВНЙ, ОПНОСЯЙЮИРЕ ДЕРЮКХ, ЙНРНПШЕ ЙЮФСРЯЪ ЯКХЬЙНЛ ЯКНФМШЛХ. бШ ДНКФМШ РЮЙФЕ ХЦМНПХПНБЮРЭ ЛМНЦНВХЯКЕММШЕ ОЕПЕЙПЕЯРМШЕ ЯЯШКЙХ; НМХ ОПЕДМЮГМЮВЕМШ ДКЪ НОШРМНЦН ОНКЭГНБЮРЕКЪ Х ДКЪ ДХЮКНЦНБНИ БЕПЯХХ ДНЙСЛЕМРЮ. рЕПЛХМ ОПНЦПЮЛЛЮ awk НРМНЯХРЯЪ Й ОПНЦПЮЛЛЕ, МЮОХЯЮММНИ БЮЛХ МЮ ЪГШЙЕ awk.

яЛ. цК. 2 [мЮВЮКЮ awk], ЯРП. 9, Н МЮВЮКЭМШУ ЯБЕДЕМХЪУ ОН ОНКЭГНБЮМХЧ awk. мЕЙНРНПШЕ ОНКЕГМШЕ "НДМНЯРПНВЕВМХЙХ" ДЮМШ, ВРНАШ БШ ОНВСБЯРБНБЮКХ ЪГШЙ awk. (ЯЛ. цК. 3 [оНКЕГМШЕ НДМНЯРПНВМШЕ ОПНЦПЮЛЛШ], ЯРП. 21). оПЕДКЮЦЮЧРЯЪ ЛМНЦХЕ ОПХЛЕПШ ОПНЦПЮЛЛ МЮ awk (ЯЛ. цК. 15 [аХАКХНРЕЙЮ ТХМЙЖХИ awk], ЯРП. 169; ЯЛ. РЮЙФЕ цК. 16 [оПЮЙРХВЕЯЙХЕ ОПНЦПЮЛЛШ МЮ awk],ЯРП. 205).

йПЮРЙНЕ НОХЯЮМХЕ БЯЕЦН ЪГШЙЮ awk ДКЪ АШЯРПШУ ЯОПЮБНЙ ОПХБЕДЕМН Б оПХКНФЕМХХ ю [йПЮРЙХИ НАГНП gawk], ЯРПН. 259. гЮЦКЪДШБЮИРЕ РСДЮ, ЙНЦДЮ РПЕАСЕРЯЪ НЯБЕФХРЭ Б ОЮЛЪРХ ЙЮЙНЕ-МХАСДЭ ЯБНИЯРБН. еЯКХ БШ МЮРЙМЕРЕЯЭ МЮ МЕГМЮЙНЛШИ РЕПЛХМ, ОНОПНАСИРЕ МЮИРХ ЕЦН Б ЦКНЯЯЮПХХ (ЯЛ. оПХКНФЕМХЕ D [цКНЯЯЮПХИ], ЯРП. 301).

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

уНРЪ Б ЖЕКНЛ ЙМХЦЮ ОПЕДМЮГМЮВЕМЮ ДКЪ МНБХВЙНБ Б awk, Б МЕИ ХЛЕЕРЯЪ ЛМНЦН ХМТНПЛЮЖХХ, ЙНРНПСЧ МЮИДСР ОНКЕГМНИ ДКЪ ЯЕАЪ ДЮФЕ ЩЙЯОЕПРШ Б awk. б ВЮЯРМНЯРХ, ЩРН НОХЯЮМХЕ POSIX awk Х ОПНЦПЮЛЛШ Б цК. 15 [аХАКХНРЕЙЮ ТСМЙЖХИ awk], ЯРП. 169, Х цК. 16 [оПЮЙРХВЕЯЙХЕ ОПНЦПЮЛЛШ awk], ЯРП. 205.

рЕЛМШЕ СЦКШ

"йРН НРЙПШК ЩРХ НЙНММШЕ ЯРЮБМХ - цПЮТ дПЮЙСКЮ"

дН ОНЪБКЕМХЪ POSIX standard (Х ПСЙНБНДЯРБЮ ОН Gawk Manual), ЛМНЦХЕ ВЕПРШ awk АШКХ ХКХ ОКНУН ДНЙСЛЕМРХПНБЮМШ ХКХ МЕ ДНЙСЛЕМРХПНБЮМШ ЯНБЯЕЛ. нОХЯЮМХЕ РЮЙХУ ЯБНИЯРБ (ВЮЯРН МЮГШБЮЕЛШУ "РЕЛМШЛХ СЦКЮЛХ") НРЛЕВЕМШ Б ЙМХЦЕ ЙЮЙ (d.c.)". нМХ РЮЙФЕ ТХЦСПХПСЧР Б ХМДЕЙЯЕ ОНД ГЮЦНКНБЙНЛ "РЕЛМШЕ СЦКШ."

1.2 рХОНЦПЮТЯЙХЕ ЯНЦКЮЬЕМХЪ

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

щРЮ ЙМХЦЮ МЮОХЯЮМЮ Я ОНЛНЫЭЧ Texinfo, ЪГШЙЮ ТНПЛЮРХПНБЮМХЪ ДНЙСЛЕМРНБ GNU. еДХМШИ Texinfo source file ХЯОНКЭГНБЮМ ДКЪ ОПНХГБНДЯРБЮ ОЕВЮРМНИ Х ДХЮКНЦНБНИ БЕПЯХИ ДНЙСЛЕМРНБ. оНЩРНЛС РХОНЦПЮТЯЙХЕ ЯНЦКЮЬЕМХЪ ЯКЕЦЙЮ НРКХВЮЧРЯЪ НР НАНГМЮВЕМХИ Б ДПСЦХУ ЙМХЦЮУ, ЙНРНПШЕ БШ ЛНЦКХ ОПНВЕЯРЭ.

оПХЛЕПШ, ЙНРНПШЕ БШ ДНКФМШ МЮАХПЮРЭ Б ЙНЛЮМДМНИ ЯРПНЙЕ, ОПЕДБЮПЪЧРЯЪ НАШВМШЛХ ОЕПБХВМШЛХ Х БРНПХВМШЛХ ОНДЯЙЮГЙЮЛХ ЙНЛЮМДМНЦН ОПНЖЕЯЯНПЮ (НАНКНВЙХ), `$' Х `?'. бШУНД НР ЙНЛЮМД ОПЕДБЮПЪЕРЯЪ ЙНЛАХМЮЖХЕИ " a ". нАШВМН ЩРН ЯРЮМДЮПРМШИ НРБЕР ЙНЛЮМДШ. яННАЫЕМХЪ НА НЬХАЙЮУ ОПЕДБЮПЪЧРЯЪ РЕЙЯРНЛ " error ".

мЮОПХЛЕП:

$ echo hi on stdout
a hi on stdout
$ echo hello on stderr 1?&2 error hello on stderr

б РЕЙЯРЕ ХЛЕМЮ ЙНЛЮМД ОНЪБКЪЧРЯЪ Б РЮЙНЛ ТНМРЕ, Ю Б ЯЕЦЛЕМРЮУ ЙНДЮ ХЯОНКЭГСЕРЯЪ РНР ФЕ ТНМР Б ЙЮБШВЙЮУ, `ОНДНАМН РЮЙНЛС'. мЕЙНРНПШЕ БЕЫХ ОНДВЕПЙХБЮЧРЯЪ, ЙЮЙ ЩРН, Х ЕЯКХ ОПЕДЛЕР ДНКФЕМ АШРЭ ПЕЮКХГНБЮМ ЯРПНЦН, ЩРН СЙЮГШБЮЕРЯЪ РЮЙ. оЕПБНЕ БУНФДЕМХЕ МНБНЦН РЕПЛХМЮ НАШВМН ЪБКЪЕРЯЪ ЕЦН НОПЕДЕКЕМХЕЛ Х ТХЦСПХПСЕР Б РНЛ ФЕ ТНМРЕ ЙЮЙ Х ОПЕДЬЕЯРБСЧЫЕЕ ЯКНБН "НОПЕДЕКЕМХЕ" Б ЩРНЛ ОПЕДКНФЕМХХ. хЛЕМЮ ТЮИКНБ СЙЮГШБЮЧРЯЪ ОНДНАМН ЯКЕДСЧЫЕЛС: `/path/to/ourfile'. яХЛБНКШ, ЙНРНПШЕ БШ ББНДХРЕ ВЕПЕГ ЙКЮБХЮРСПС, БШЦКЪДЪР РЮЙ. б ВЮЯРМНЯРХ, ХЛЕЧРЯЪ ЯОЕЖХЮКЭМШЕ ЯХЛБНКШ, МЮГШБЮЕЛШЕ "СОПЮБКЪЧЫХЛХ". щРН РЮЙХЕ ЯХЛБНКШ, ЙНРНПШЕ БШ ОЕВЮРЮЕРЕ, МЮФХЛЮЪ Х сопюбкъчысч ЙКЮБХЬС Х ДПСЦСЧ ЙКЮБХЬС НДМНБПЕЛЕММН. мЮОПХЛЕП, Control-d ОЕВЮРЧР, МЮФЮБ ЯМЮВЮКЮ Х СДЕПФХБЮЪ МЮФЮРНИ CONTROL key, ГЮРЕЛ МЮФХЛЮЪ ЙКЮБХЬС d, Ю ОНРНЛ НРОСЯЙЮЧР НАЕ ЙКЮБХЬХ.

1.3 тЮИКШ Я ДЮММШЛХ ДКЪ ОПХЛЕПНБ

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

лМНЦХЕ ОПХЛЕПШ Б ЩРНИ ЙМХЦЕ ХЛЕЧР БУНДМНИ ХМТНПЛЮЖХЕИ ДБЮ СЙЮГЮММШУ МХФЕ ТЮИКЮ Я ДЮММШЛХ. оЕПБШИ МЮГШБЮЕРЯЪ `BBS-list'Х ОПЕДЯРЮБКЪЕР ЯОХЯНЙ МЮ ЙНЛОЭЧРЕПМНИ ДНЯЙЕ НАЗЪБКЕМХИ ЯХЯРЕЛ БЛЕЯРЕ Я ХМТНПЛЮЖХЕИ НА ЩРХУ ЯХЯРЕЛЮУ. бРНПНИ ТЮИК ДЮММШУ, МЮГШБЮЕЛШИ `inventory-shipped', ЯНДЕПФХР ХМТНПЛЮЖХЧ НА ЛНПЯЙХУ НРОПЮБКЕМХЪУ МЮ ЙЮФДШИ ЛЕЯЪЖ. б НАНХУ ТЮИКЮУ ЙЮФДЮЪ ЯРПНЙЮ ПЮЯЯЛЮРПХБЮЕРЯЪ ЙЮЙ НДМЮ ГЮОХЯЭ.

б ТЮИКЕ `BBS-list' ЙЮФДЮЪ ГЮОХЯЭ ЯНДЕПФХР ХЛЪ ЙНЛОЭЧРЕПМНИ ДНЯЙХ НАЗЪБКЕМХИ, ЕЕ РЕКЕТНММШИ МНЛЕП, ЯЙНПНЯРЭ ОЕПЕДЮВХ Б baud Х ЙНД ДКЪ СЙЮГЮМХЪ ЕЕ НОЕПЮЖХНММШУ ВЮЯНБ. `A' Б ОНЯКЕДМЕИ ЙНКНМЙЕ НГМЮВЮЕР, ВРН ДНЯЙЮ ПЮАНРЮЕР 24 ВЮЯЮ Б ЯСРЙС. `B' Б ОНЯКЕДМЕИ ЙНКНМЙЕ НГМЮВЮЕР, ВРН ДНЯЙЮ ПЮАНРЮЕР РНКЭЙН БЕВЕПНЛ Х Б БШУНДМШЕ. `C' НГМЮВЮЕР, ВРН ДНЯЙЮ ПЮАНРЮЕР РНКЭЙН Б БШУНДМШЕ.

aardvark 555-5553 1200/300 B
alpo-net 555-3412 2400/1200/300 A
barfly   555-7685 1200/300 A
bites    555-1675 2400/1200/300 A
camelot  555-0542 300 C
core     555-2912 1200/300 C
fooey    555-1234 2400/1200/300 B
foot     555-6699 1200/300 B
macfoo   555-6480 1200/300 A
sdace    555-3430 2400/1200/300 A
sabafoo  555-2127 1200/300 C

бРНПНИ ТЮИК, МЮГШБЮЕЛШИ `inventory-shipped', МЕЯЕР ХМТНПЛЮЖХЧ Н ЛНПЯЙХУ ОЕПЕБНГЙЮУ Б РЕВЕМХЕ ЦНДЮ. йЮФДЮЪ ГЮОХЯЭ ЯННРБЕРЯРБСЕР НДМНЛС ЛЕЯЪЖС ЦНДЮ Х ЯНДЕПФХР ЙНКХВЕЯРБЮ НРОПЮБКЕММШУ ГЕКЕМШУ ЯБЪГНЙ, ЙПЮЯМШУ ЪЫХЙНБ, ЛЕЬЙНБ Я ЮОЕКЭЯХМЮЛХ Х ЦНКСАШУ ОЮЙЕРНБ ЯННРБЕРЯРБЕММН. хЛЕЧРЯЪ 16 ГЮОХЯЕИ ДКЪ 12 ЛЕЯЪЖЕБ НДМНЦН ЦНДЮ Х ВЕРШПЕУ ЛЕЯЪЖЕБ ЯКЕДСЧЫЕЦН.

Jan 13 25 15 115 Feb 15 32 24 226 Mar 15 24 34 228 Apr 31 52 63 420
May 16 34 29 208 Jun 31 42 75 492 Jul 24 34 67 436 Aug 15 34 47 316
Sep 13 55 37 277 Oct 29 54 68 525 Nov 20 87 82 577 Dec 17 35 61 401
Jan 21 36 64 620 Feb 26 58 80 652 Mar 24 75 70 495 Apr 21 70 74 514
б МЮВЮКН ЯРПЮМХЖШ

<<< нЦКЮБКЕМХЕ яРПЮМХЖШ: 1  2 >>>

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