хМЯРПСЛЕМРШ ОПХЙКЮДМНЦН ОПНЦПЮЛЛХЯРЮ: ЯРПНЙНБШИ ОПНЖЕЯЯНП awk. нОХЯЮМН ОНОСКЪПМНЕ ХМЯРПСЛЕМРЮКЭМНЕ ЯПЕДЯРБН ЯПЕДШ ОПНЦПЮЛЛХЯРЮ Б UNIX: ЯРПНЙНБШИ ОПНЖЕЯЯНП awk, ОНГБНКЪЧЫХИ ЩТТЕЙРХБМН НАПЮАЮРШБЮРЭ ПЮГКХВМСЧ РЕЙЯРНБСЧ ХМТНПЛЮЖХЧ.
The string processor awk popular in UNIX-like operational systems is described in certain details. This tool allows an application programmer to coup efficiently with processing large amounts of textual information. Intended for application programmers, information systems developers and computer sciences students.
оНДНАМШЕ ГЮДЮМХЪ Я НДМНИ ЯРНПНМШ ЛНЦСР АШРЭ ЯКХЬЙНЛ РПСДНЕЛЙХ ДКЪ НАШВМНЦН РЕЙЯРНБНЦН ПЕДЮЙРНПЮ, РЮЙ ЙЮЙ ЛНЦСР РПЕАНБЮРЭ ОПНЯЛНРПЮ РШЯЪВ ЯРПНЙ РЕЙЯРЮ, Ю Я ДПСЦНИ ЯРНПНМШ -- МЕСМХТХЖХПСЕЛШЛХ, РЮЙ ЙЮЙ ХМТНПЛЮЖХЪ МЕ ЯРПСЙРСПХПНБЮМЮ Б РНЛ БХДЕ, ЙЮЙ ЩРН ХЛЕЕР ЛЕЯРН Б АЮГЮУ ДЮММШУ ХКХ ЩКЕЙРПНММШУ РЮАКХЖЮУ. дКЪ ЩТТЕЙРХБМНИ ПЮАНРШ Б ЩРНИ ''ЯЕПНИ'' НАКЮЯРХ ДЮБМН ОПЕДКНФЕМ Х Я СЯОЕУНЛ ОПХЛЕМЪЕРЯЪ ЯРПНЙНБШИ ОПНЖЕЯЯНП awk.
щРН ОПНЖЕЯЯНП ПЮЯЯЛЮРПХБЮЕР БУНДМНИ ОНРНЙ ДЮММШУ
ЙЮЙ ЯНЯРНЪЫХИ ХГ ГЮОХЯЕИ,
ПЮГДЕКЕММШЛХ ЯОЕЖХЮКЭМШЛХ ЯХЛБНКЮЛХ (RS).
оН СЛНКВЮМХЧ РЮЙХЛ ЯХЛБНКНЛ ЪБКЪЕРЯЪ ЯХЛБНК ОЕПЕУНДЮ
МЮ МНБСЧ ЯРПНЙС ('\n
').
гЮОХЯЭ ЯВХРЮЕРЯЪ ПЮГДЕКЕММНИ ( ЯХЛБНКЮЛХ FS)
1 МЮ ОНКЪ
Х ЯРПНЙНБШИ ОПНЖЕЯЯНП awk ЮБРНЛЮРХВЕЯЙХ БШДЕКЪЕР ЩРХ ОНКЪ
Х ДЮЕР БНГЛНФМНЯРЭ ОПНХГБНДХРЭ
Я МХЛХ ПЮГКХВМШЕ НОЕПЮЖХХ.
оН ЯСРХ ДЕКЮ, ЩРН ЕДХМЯРБЕММНЕ ОПЕДОНКНФЕМХЕ,
ЙНРНПНЕ ДЕКЮЕР awk НРМНЯХРЕКЭМН ЯРПСЙРСПШ БУНДМШУ ДЮММШУ.
гЮДЮМХЕ ОПНЖЕЯЯЮ НАПЮАНРЙХ МЕЙНРНПНЦН ТЮИКЮ Я ОНЛНЫЭЧ ОПНЦПЮЛЛШ awk ЯНЯРНХР Б НОХЯЮМХХ ДЕИЯРБХИ, ЙНРНПШЕ МСФМН ОПНХГБЕЯРХ Я ГЮОХЯЪЛХ Х ОНКЪЛХ. дКЪ ЩРНЦН awk ОПЕДНЯРЮБКЪЕР Б ПЮЯОНПЪФЕМХЕ ОПНЦПЮЛЛХЯРЮ ПЮГБХРШИ ЪГШЙ ОПНЦПЮЛЛХПНБЮМХЪ, МЮОНЛХМЮЧЫХИ ОНОСКЪПМШИ ЪГШЙ ОПНЦПЮЛЛХПНБЮМХЪ C. щРН Х МЕ СДХБХРЕКЭМН, РЮЙ ЙЮЙ ЮБРНПШ awk (юКЭТПЕД б. юУН ( Alfred V. Aho -- a), оХРЕП дФ. бЮИМАЕПЦЕП ( Peter J. Weinberger -- w ) Х аПЮИЮМ с. йЕПМХУЮМ ( Brian W. Kernighan -- k) ХГБЕЯРМШ ЙЮЙ ПНДНМЮВЮКЭМХЙХ ЪГШЙЮ C Х НОЕПЮЖХНММНИ ЯХЯРЕЛШ UNIX.
бУНДМНИ ЪГШЙ ОПНЖЕЯЯНПЮ awk ЪБКЪЕРЯЪ Б НОПЕДЕКЕММНЛ ЯЛШЯКЕ ''СОПНЫЕММШЛ'' C Х МЕ ЯНДЕПФХР РЮЙХУ РХОНБ ДЮММШУ ЙЮЙ СЙЮГЮРЕКХ Х ЯРПСЙРСПШ. нРЯСРЯРБСЧР Б МЕЛ Х ДПСЦХЕ ЩКЕЛЕМРШ ЪГШЙЮ C, РЮЙХЕ, МЮОПХЛЕПa, ЙЮЙ ЙНЛЮМДШ ОПЕОПНЖЕЯЯНПЮ, АХРНБШЕ НОЕПЮЖХХ, КНЙЮКХГЮЖХЪ ОЕПЕЛЕММШУ Х ОП.
нДМЮЙН, Б НРКХВХЕ НР C awk ОПЕДНЯРЮБКЪЕР СДНАМШИ НОЕПЮЖХНММШИ ЯХМРЮЙЯХЯ ДКЪ ЯРПНЙНБШУ НОЕПЮЖХИ, ЮБРНЛЮРХВЕЯЙНЕ ОПЕНАПЮГНБЮМХЕ ЯРПНЙЮ-ВХЯКН, ЮБРНЛЮРХВЕЯЙХИ КЕЙЯХВЕЯЙХИ ПЮГАНП БУНДМНЦН ОНРНЙЮ Х Р.О., ВРН ДЕКЮЕР ЕЦН ХЯЙКЧВХРЕКЭМН СДНАМШЛ ЯПЕДЯРБНЛ БШОНКМЕМХЪ ОПНЯРШУ, МН РПСДНЕЛЙХУ НОЕПЮЖХИ c РЕЙЯРНБШЛХ ТЮИКЮЛХ АНКЭЬХУ ПЮГЛЕПНБ. йПНЛЕ ЩРНЦН, awk ЪБКЪЕРЯЪ ХМРЕПОПЕРХПСЧЫХЛ ЪГШЙНЛ, ВРН ЯСЫЕЯРБЕММН СОПНЫЮЕР ОПНЖЕЯЯ ПЮГПЮАНРЙХ awk-ОПХКНФЕМХИ.
бЯЕ ЩРН ДЕКЮЕР awk БЕЯЭЛЮ ЩТТЕЙРХБМШЛ Х ОНКЕГМШЛ ХМЯРПСЛЕМРНЛ, СЛЕКН БКЮДЕРЭ ЙНРНПШЛ ДНКФЕМ ЙЮФДШИ ЦПЮЛНРМШИ ОПНЦПЮЛЛХЯР.
оПНЦПЮЛЛЮ МЮ awk ЛНФЕР ЯНДЕПФЮРЭ НОПЕДЕКЕМХЪ ТСМЙЖХИ, ЙНРНПШЕ ЛНФМН ЯВХРЮРЭ РЮЙФЕ ХЛЕЧЫХЛХ ТНПЛС НАПЮГЕЖ -- ДЕИЯРБХЕ ЯН ЯОЕЖХЮКЭМШЛ БХДНЛ НАПЮГЖЮ. оНДПНАМЕЕ ГЮДЮМХЕ ТСМЙЖХИ НОХЯЮМН Б ПЮГДЕКЕ [*]
дЕИЯРБХЕ НОХЯШБЮЕРЯЪ НОЕПЮРНПЮЛХ ЪГШЙЮ awk, ЙНРНПШЕ ОНДПНАМЕЕ ПЮЯЯЛЮРПХБЮЧРЯЪ ДЮКЕЕ. вРНАШ НРДЕКХРЭ СЯКНБХЕ НР ДЕИЯРБХЪ, ОНЯКЕДМЕЕ НАШВМН ГЮЙКЧВЮЕРЯЪ Б ТХЦСПМШЕ ЯЙНАЙХ . хЯКЧВЕМХЕ ЯНЯРЮБКЪЕР КХЬЭ ЯКСВЮИ ОСЯРНЦН ДЕИЯРБХЪ, ЙНРНПНЕ Б ЩРНЛ ЯКСВЮЕ ОПХБНДХР Й БШБНДС МЮ ОЕВЮРЭ БУНДМНИ ГЮОХЯХ.
/ПЕЦСКЪПМНЕ БШПЮФЕМХЕ/ |
КНЦХВЕЯЙНЕ БШПЮФЕМХЕ |
ОПНБЕПЙЮ МЮ ЯНБОЮДЕМХЕ |
ДХЮОЮГНМ ГЮОХЯЕИ |
ГЮЦНКНБНЙ ТСМЙЖХХ |
BEGIN |
END |
оНМЪРХЕ ПЕЦСКЪПМНЦН БШПЮФЕМХЪ ЯНБОЮДЮЕР Б НЯМНБМНЛ Я ПЕЦСКЪПМШЛХ БШПЮФЕМХЪЛХ, ОПХГМЮБЮЕЛШЛХ grep[1], ВРН МЕСДХБХРЕКЭМН, РЮЙ ЙЮЙ ЮБРНПШ awk ЯХКЭМН ОНБКХЪКХ Х МЮ ПЮГПЮАНРЙС grep.
оПНЯРЕИЬХЛ ЯКСВЮЕЛ ПЕЦСКЪПМНЦН БШПЮФЕМХЪ ЪБКЪЕРЯЪ ЯРПНЙЮ ЯХЛБНКНБ. оПНЦПЮЛЛЮ ( Я ОСЯРШЛ ДЕИЯРБХЕЛ )
/хБЮМНБ/
МЮОЕВЮРЮЕР ХГ РЕЙЯРНБНЦН ТЮИКЮ РЕ ЯРПНЙХ, ЙНРНПШЕ ЯНДЕПФЮР ОНДЯРПНЙС
"хБЮМНБ"
( Б РНЛ ВХЯКЕ Х "хБЮМНБЯЙХИ ЛЮЬХМНЯРПНХРЕКЭМШИ ГЮБНД" ).
нАПЮГЖШ-ПЕЦСКЪПМШЕ БШПЮФЕМХЪ ОНГБНКЪЧР АНКЕЕ РНВМН НОХЯЮРЭ ЙКЮЯЯ ЯРПНЙ, ЙНРНПШЕ МЕНАУНДХЛН НАПЮАНРЮРЭ ХКХ МЮОЕВЮРЮРЭ.
оНЛХЛН НАШВМШУ ЯХЛБНКНБ ПЕЦСКЪПМНЕ БШПЮФЕМХЕ ЛНФЕР ЯНДЕПФЮРЭ ЯОЕЖХЮКЭМШЕ ЛЕРЮЯХЛБНКШ, ЙНРНПШЕ ДЮЧР БНГЛНФМНЯРЭ НОХЯШБЮРЭ ПЮГКХВМШЕ ОНДЛМНФЕЯРБЮ ЯРПНЙ.
йЮМНМХВЕЯЙХИ ЯОХЯНЙ ЛЕРЮЯХЛБНКНБ ЯНДЕПФХР ЯКЕДСЧЫХЕ ЩКЕЛЕМРШ:
^ $ [ ] - + * .(РНВЙЮ) \
лЕРЮЯХЛБНКШ ХЛЕЧР ЯКЕДСЧЫСЧ ЯЕЛЮРХЙС:
^
-- ЯННРБЕРЯРБСЕР МЮВЮКС ЯРПНЙХ.
щРН ОНГБНКЪЕР БШДЕКЪРЭ ЯРПНЙХ
МЕ РНКЭЙН ОН МЮКХВХЧ Б МХУ РЕУ ХКХ ХМШУ ЯХЛБНКНБ,
МН Х ОН ХУ ПЮЯОНКНФЕМХЧ Б ЯРПНЙЕ.
рЮЙ, МЮОПХЛЕП, /^A/
ЯННРБЕРЯРБСЕР ЯРПНЙЮЛ (ГЮОХЯЪЛ),
МЮВХМЮЧЫХЛЯЪ МЮ A
.
$
-- ЯННРБЕРЯРБСЕР ЙНМЖС ЯРПНЙХ.
мЮОПХЛЕП,
/A$/
НРБЕВЮЕР ЯРПНЙЮЛ,
ГЮЙЮМВХБЮЧЫХЛЯЪ МЮ A.
[ ]
-- c ОНЛНЫЭЧ ЩРХУ ЯХЛБНКНБ НОХЯШБЮЧР ЛМНФЕЯРБЮ ЕДХМХВМШУ ЯХЛБНКНБ.
б ОПНЯРЕИЬЕЛ ЯКСВЮЕ ЩРХ ЛМНФЕЯРБЮ НОХЯШБЮЧРЯЪ ОЕПЕВХЯКЕМХЕЛ: [AWK]
ЯННРБЕРЯРБСЕР ЛМНФЕЯРБС ХГ РПЕУ АСЙБ A, W, K
.
яННРБЕРЯРБЕММН G[AWK] ОПЕДЯРЮБКЪЕР ЛМНФЕЯРБН ЯРПНЙ
{ GA, GW, GK }.
-
-- ХЯОНКЭГСЕРЯЪ ДКЪ ГЮДЮМХЪ ДХЮОЮГНМЮ ЯХЛБНКНБ, МЮОПХЛЕП,
[a-z] ЯННРБЕРЯРБСЕР ЯХЛБНКЮЛ НР a ДН z,
ЙЮЙ НМХ ПЮЯОНКНФЕМШ Б РЮАКХЖЕ ЙНДНБ ASCII.
+
-- ЩРНР ЯХЛБНК НАНГМЮВЮЕР ЛМНЦНЙПЮРМНЕ ( МЕ ЛЕМЕЕ НДМНЦН )
ОНБРНПЕМХЕ Б НАПЮГЖЕ ЯХЛБНКЮ, ОПЕДЬЕЯРБСЧЫЕЦН +
.
*
-- РЮЙФЕ ЛМНЦНЙПЮРМНЕ, МН БНГЛНФМН РЮЙФЕ Х МСКЕБНЕ ОНБРНПЕМХЕ
ОПЕДШДСЫЕЦН ЯХЛБНКЮ.
рХОХВМШИ ОПХЛЕП: [1-9][0-9]* -- ОНКНФХРЕКЭМШЕ ЖЕКШЕ ВХЯКЮ.
.
(РНВЙЮ) -- НАНГМЮВЮЕР ОПНХГБНКЭМШИ ЕДХМХВМШИ ЯХЛБНК.
кЕЦЕМДЮПМСЧ ХГБЕЯРМНЯРЭ ОПХНАПЕКЮ ЙНЛАХМЮЖХЪ .*,
ЙНРНПЮЪ НАНГМЮВЮЕР РЮЙХЛ НАПЮГНЛ ОПНХГБНКЭМСЧ ЙНЛАХМЮЖХЧ
ЯХЛБНКНБ.
\
-- НРЛЕМЪЕР ЯОЕЖХЮКЭМНЕ ГМЮВЕМХЕ ОНЯКЕДСЧЫЕЦН
ЯХЛБНКЮ.
нРЛЕМЮ ЯОЕЖХЮКЭМНЦН ГМЮВЕМХЪ \
ОПНХГБНДХРЯЪ ОПХ ОНЛНЫХ \\
.
кНЦХВЕЯЙХЕ БШПЮФЕМХЪ ЯРПНЪРЯЪ Я ОНЛНЫЭЧ НОЕПЮЖХИ,
ОПХБЕДЕММШУ Б РЮАК. [*].
/^A/ && ! /^AB/
ЯННРБЕРЯРБСЕР ГЮОХЯЪЛ, МЮВХМЮЧЫХЛЯЪ МЮ ЯХЛБНК A,
МН МЕ ХЛЕЧЫХЛ Б ЙЮВЕЯРБЕ ОНЯКЕДСЧЫЕЦН ЯХЛБНКЮ B.
б ЙЮВЕЯРБЕ НАПЮГЖЮ ЛНФМН СЙЮГЮРЭ РЮЙФЕ Х ЦПСООС ЯРПНЙ. рЮЙЮЪ ЦПСООЮ ЯРПНЙ НАНГМЮВЮЕРЯЪ Б ОНКЕ НАПЮГЖЮ ЙЮЙ
НАПЮГЕЖ-1, НАПЮГЕЖ-2
Х НГМЮВЮЕР, ВРН ЯННРБЕРЯРБСЧЫЕЕ ДЕИЯРБХЕ АСДЕР БШОНКМЪРЯЪ ДКЪ ЯРПНЙ, ЙНРНПШЛ ОПЕДЬЕЯРБНБЮКЮ ЯРПНЙЮ, ЯННРБЕРЯРБСЧЫЮЪ НАПЮГЕЖ-1, МН ОПЕДЬЕЯРБСЧЫХЛ ЯРПНЙЕ, ЯННРБЕРЯРБСЧЫЕИ НАПЮГЕЖ-2.
яОЕЖХЮКЭМШЕ ЯХЛБНКШ BEGIN, END НАНГМЮВЮЧР МЮВЮКН Х ЙНМЕЖ ТЮИКЮ ББНДЮ. я ХУ ОНЛНЫЭЧ ЛНФМН БШОНКМХРЭ ДН МЮВЮКЮ ДЕИЯРБХРЕКЭМНИ ПЮАНРШ awk ФЕКЮЕЛШЕ ДЕИЯРБХЪ ОН МЮЯРПНИЙЕ awk, Ю ОН ГЮБЕПЬЕМХЧ ПЮАНРШ -- БШДЮРЭ ЙЮЙСЧ-КХАН ХРНЦНБСЧ ХМТНПЛЮЖХЧ.
рЕКН ДЕИЯРБХЪ Б awk ОПЕДЯРЮБКЪЕР ЯНАНИ ОПНЦПЮЛЛС МЮ ЪГШЙЕ awk, Б ЙНРНПНЛ ОПХЯСРЯРБСЧР ЛМНЦХЕ ХГ ЮРРПХАСРНБ ЪГШЙЮ ОПНЦПЮЛЛХПНБЮМХЪ: ОПХЯБНЕМХЪ, БШПЮФЕМХЪ, СЯКНБМШЕ НОЕПЮРНПШ, ЖХЙКШ, НОЕПЮРНПШ ББНДЮ-БШБНДЮ, ЙНЛЮМДШ ПЮАНРШ Я ТЮИКНБНИ ЯХЯРЕЛНИ Х ОП. йНЛЮМДШ awk ЛНЦСР ЦПСООХПНБЮРЭЯЪ Я ОНЛНЫЭЧ РЕУ ФЕ ЯЮЛШУ ТХЦСПМШУ ЯЙНАНЙ {} Х НАПЮГНБШБЮРЭ ЯНЯРЮБМШЕ НОЕПЮРНПШ.
й БНЯРНПЦС ОНЙКНММХЙНБ ЯРПСЙРСПМНЦН ОПНЦПЮЛЛХПНБЮМХЪ Б awk НРЯСРЯРБСЕР НОЕПЮРНП GOTO Х ЛЕРЙХ.
оНДПНАМЕЕ ЙНЛЮМДШ awk ПЮЯЯЛНРПЕМШ Б ЯКЕДСЧЫЕЛ ПЮГДЕКЕ.
б ЯРПНЙЕ БШГНБЮ awk ЛНФМН СЙЮГЮРЭ МЕЯЙНКЭЙН ТЮИКНБ ДЮММШУ, awk АСДЕР ОНЯКЕДНБЮРЕКЭМН ХУ НАПЮАЮРШБЮРЭ. хЛЪ РЕЙСЫЕЦН ТЮИКЮ ББНДЮ ДНЯРСОМН ЙЮЙ ГМЮВЕМХЕ ОЕПЕЛЕММНИ FILENAME.
щРХ АЮГНБШЕ БНГЛНФМНЯРХ awk ОН ББНДС ДЮММШУ ЛНЦСР АШРЭ ЯСЫЕЯРБЕММН ПЮЯЬХПЕМШ ХЯОНКЭГНБЮМХЕЛ ТСМЙЖХХ (ХКХ ЙНЛЮМДШ) getline.
хЯОНКЭГНБЮММЮЪ АЕГ ЮПЦСЛЕМРНБ, getline ОПНЯРН ВХРЮЕР НВЕПЕДМСЧ ГЮОХЯЭ ХГ РЕЙСЫЕЦН ТЮИКЮ ББНДЮ. щРН ОНГБНКЪЕР, МЮОПХЛЕП, ЯОЕЖХЮКЭМШЛ НАПЮГНЛ НАПЮАНРЮРЭ ЯКЕДСЧЫСЧ ЯРПНЙС, ЕЯКХ БШ, МЮОПХЛЕП, НАМЮПСФХКХ БН БУНДМШУ ДЮММШУ ЯННАЫЕМХЕ РХОЮ:
TOP SECRET! NEXT LINE TO BE BURNED BEFORE READING!
оНЯКЕ БШОНКМЕМХЪ ЙНЛЮМДШ getline awk ОПНДНКФЮЕР МНПЛЮКЭМШИ ЖХЙК ЯБНЕИ ДЕЪРЕКЭМНЯРХ, ОПХЛЕМЪЪ Й ЩРНИ ГЮОХЯХ ОНЯКЕДСЧЫХЕ ОЮПШ НАПЮГЕЖ -- ДЕИЯРБХЕ.
йНЛЮМДЮ getline ЛНФЕР АШРЭ ХЯОНКЭГНБЮМЮ ДКЪ ББНДЮ ГМЮВЕМХЪ ЯРПНЙНБНИ ОЕПЕЛЕММНИ:
getline message
мХЙЮЙХУ ОНАНВМШУ ЩТТЕЙРНБ ОПХ ЩРНЛ МЕ ОПНХЯУНДХР, ГЮ ХЯЙКЧВЕМХЕЛ РНЦН, ВРН ХГЛЕМЪЕРЯЪ ЯВЕРВХЙ ГЮОХЯЕИ NR.
йНЛЮМДЮ getline ЛНФЕР ВХРЮРЭ ХГ ОНХЛЕМНБЮММНЦН ТЮИКЮ, ХЯОНКЭГСЪ РЕУМХЙС ОЕПЕМЮОПЮБКЕМХЪ:
getline < file
бШПЮФЕМХЕ file ЛНФЕР АШРЭ ОПНХГБНКЭМШЛ ЯРПНЙНБШЛ БШПЮФЕМХЕЛ, ЙНРНПШЕ ХМРЕПОПЕРХПСЧРЯЪ ЙЮЙ ХЛЪ ТЮИКЮ Б ДЮММНИ НОЕПЮЖХНММНИ ЯХЯРЕЛЕ.
еЯКХ getline МЕ БЯРПЕРХКЮ ЙЮЙХУ-КХАН ОПНАКЕЛ ОПХ ХЯОНКМЕМХХ, НМЮ БНГБПЮЫЮЕР ГМЮВЕМХЕ 1. еЯКХ ОПХ ХЯОНКМЕМХХ НАМЮПСФЕМ ЙНМЕЖ ТЮИКЮ, РН БНГБПЮЫЮЕРЯЪ 0, ЕЯКХ НАМЮПСФЕМЮ НЬХАЙЮ, РН БНГБПЮЫЮЕРЯЪ -1. б ОНЯКЕДМЕЛ ЯКСВЮЕ ОПХВХМС НЬХАЙХ ЛНФМН МЮИРХ, ОПНЮМЮКХГХПНБЮБ ГМЮВЕМХЕ ОЕПЕЛЕММНИ ERRNO.
print a,b,c, ... z
ЦДЕ a, b, c, ..., z ЩРН ЯОХЯНЙ БШБНДЮ, ЙНРНПШИ ЛНФЕР БЙКЧВЮРЭ ПЮГКХВМШЕ ЯРПНЙНБШЕ Х ЮПХТЛЕРХВЕЯЙХЕ БШПЮФЕМХЪ.
мЮОПХЛЕП, Б ПЕГСКЭРЮРЕ ХЯОНКМЕМХЪ НОЕПЮРНПЮ
print exp(1)
АСДЕР МЮОЕВЮРЮМН ВХЯКН
2.71828Ю Б ПЕГСКЭРЮРЕ БШОНКМЕМХЪ НОЕПЮРНПЮ
print "бЮЯЪ" "+" "лЮЬЮ"
АСДЕР МЮОЕВЮРЮМЮ ЯРПНЙЮ
бЮЯЪ+лЮЬЮнАПЮРХРЕ БМХЛЮМХЕ, ВРН МЮОЕВЮРЮКЮЯЭ ЙНМЙЮРЕМХПНБЮММЮЪ ЯРПНЙЮ, Р.Е.
"бЮЯЪ" "+" "лЮЬЮ"
"бЮЯЪ+лЮЬЮ"
.
еЯКХ ОЕВЮРЭ АСДЕР ОПНХГБНДХРЭЯЪ НОЕПЮРНПНЛ
print "бЮЯЪ","+","лЮЬЮ"
ПЕГСКЭРЮР АСДЕР НАШВМН БШЦКЪДЕРЭ ЙЮЙ
бЮЯЪ + лЮЬЮгМЮВЕМХЪ ЯОХЯЙЮ БШБНДЮ ПЮГДЕКЕМШ Б ЩРНЛ ЯКСВЮЕ ОПНАЕКНЛ, ЙНРНПШЕ ЪБКЪЕРЯЪ ГМЮВЕМХЕЛ ОН СЛНКВЮМХЧ ЯОЕЖХЮКЭМНИ БМСРПЕММЕИ ОЕПЕЛЕММНИ OFS. щРЮ Х ДПСЦХЕ ЯОЕЖХЮКЭМШЕ ОЕПЕЛЕММШЕ awk АСДСР ПЮЯЯЛНРПЕМШ ОНГДМЕЕ, Ю ОНЙЮ ГЮЛЕРХЛ, ВРН ГМЮВЕМХЕ OFS ЛНФЕР АШРЭ ХГЛЕМЕМН ОНКЭГНБЮРЕКЕЛ. мЮОПХЛЕП, ЕЯКХ НОПЕДЕКХРЭ
OFS="\n"
,
РН РНР ФЕ НОЕПЮРНП ОЕВЮРХ БШДЮЯР ПЕГСКЭРЮР
бЮЯЪ + лЮЬЮ
нОЕПЮРНП
print $1
БШБЕДЕР МЮ ОЕВЮРЭ ЯНДЕПФХЛНЕ ОЕПБНЦН, Ю НОЕПЮРНП
print $NF
ОНЯКЕДМЕЦН ОНКЪ РЕЙСЫЕИ ГЮОХЯХ.
оН СЛНКВЮМХЧ ДКЪ БШБНДЮ ВХЯЕК awk ХЯОНКЭГСЕР Б ЙЮВЕЯРБЕ ТНПЛЮРЮ
ГМЮВЕМХЕ ЯОЕЖХЮКЭМНИ БМСРПЕММЕИ ОЕПЕЛЕММНИ OFMT,
НШВМН ХЛЕЧЫЕИ ГМЮВЕМХЕ "%.6g"
.
хГЛЕМХБ ЩРН ГМЮВЕМХЕ, ЛНФМН ХГЛЕМХРЭ ТНПЛС БШБНДЮ ВХЯЕК, МЮОПХЛЕП,
OFMT="%.0f"
АСДЕР БШБНДХРЭ БЯЕ ВХЯКЮ ЙЮЙ ЖЕКШЕ, НЙПСЦКЪЪ ХУ ДН АКХФЮИЬЕЦН.
нОЕПЮРНПШ printf, sprintf НЯСЫЕЯРБКЪЧР ТНПЛЮРХПНБЮМШИ БШБНД Б ДСУЕ НОЕПЮРНПНБ БШБНДЮ ЪГШЙЮ C. дКЪ ЩРХУ НОЕПЮРНПНБ ОЕПБШЛ ЩКЕЛЕМРНЛ ЯОХЯЙЮ БШБНДЮ ЪБКЪЕРЯЪ ЯРПНЙЮ, ЯНДЕПФЮЫЮЪ НОХЯЮМХЕ ТНПЛЮРНБ БШБНДЮ ОНЯКЕДСЧЫХУ ЩКЕЛЕМРНБ ЯОХЯЙЮ. дКЪ НОХЯЮМХЪ ТНПЛЮРНБ ОПХЛЕМХЛШ ЯРЮМДЮПРМШЕ ОПЮБХКЮ ЪГШЙЮ C:
%s | ЯРПНЙЮ ЯХЛБНКНБ |
%d | ДЕЯЪРХВМНЕ ЖЕКНЕ |
%f | БЕЫЕЯРБЕММНЕ ВХЯКН Я ДЕЯЪРХВМНИ РНВЙНИ |
%o | БНЯЭЛЕПХВМНЕ ВХЯКН |
%x | ЬЕЯРМЮДЖЮРХПХВМНЕ ВХЯКН |
оПЕДНОПЕДЕКЕММШЕ ПЮГДЕКХРЕКХ OFS, ORS МЕ БКХЪЧР МЮ БШБНД, НЯСЫЕЯРБКЪЕЛШИ ОНЯПЕДЯРБНЛ printf, Б ВЮЯРМНЯРХ Б ЙНМЖЕ ГЮОХЯХ МЕ ДНАЮБКЪЕРЯЪ ЮБРНЛЮРХВЕЯЙХ ЯХЛБНК ОЕПЕУНДЮ МЮ МНБСЧ ЯРПНЙС ( ГМЮВЕМХЕ ORS ОН СЛНКВЮМХЧ ).
яОЕЖХТХЙЮ НОЕПЮРНПЮ sprintf ГЮЙКЧВЮЕРЯЪ Б РНЛ, ВРН БШБНД ОПНХЯУНДХР МЕ БН БМЕЬМХИ ТЮИК, Ю БНГБПЮЫЮЕРЯЪ Б ЙЮВЕЯРБЕ ГМЮВЕМХЪ ТСМЙЖХХ sprintf. яННРБЕРЯРБЕММН ЯХМРЮЙЯХЯ sprintf БНЯОПНХГБНДХР БШГНБ ТСМЙЖХХ Б awk:
pi = sprintf("%f10.6", 4*atan(1))
ОПХЯБЮХБЮЕР ЯРПНЙНБНИ ОЕПЕЛЕММНИ pi ГМЮВЕМХЕ " 3.141592".
бШБНД НОЕПЮРНПНБ print, printf ЛНФЕР АШРЭ ОЕПЕМЮОПЮБКЕМ ЯРЮМДЮПРМШЛ ДКЪ UNIX НАПЮГНЛ. жЕКЭЧ РЮЙНЦН ОЕПЕМЮЮОПЮБКЕМХЪ ЛНФЕР ЯКСФХРЭ ЙЮЙНИ-КХАН ОНХЛЕМНБЮММШИ ТЮИК ХКХ ДПСЦЮЪ ЙНЛЮМДЮ НОЕПЮЖХНММНИ ЯХЯРЕЛШ. б ЯКСВЮЕ ТЮИКЮ ПЕГСКЭРЮР ЙНЛЮМДШ print ХКХ printf ЛНФЕР КХАН ГЮРХПЮРЭ ОПЕДШДСЫЕЕ ЯНДЕПФЮМХЕ ТЮИКЮ, КХАН ДНОХЯШБЮРЭЯЪ Й МЕЛС. оЕПБНЕ НЯСЫЕЯРБКЪЕРЯЪ ЙНЛЮМДНИ
print "бЮЯЪ+лЮЬЮ" > "message.of.the.day"
Ю БРНПНЕ -- ЙНЛЮМДНИ
print "бЮЯЪ+лЮЬЮ" » "message.of.the.day"
яКЕДСЕР ХЛЕРЭ Б БХДС, ВРН ПЮГКХВХЕ ЛЕФДС ЩРХЛХ БЮПХЮМРЮЛХ ОЕПЕМЮОПЮБКЕМХЪ ЯСЫЕЯРБСЕР КХЬЭ ДН НРЙПШРХЪ ТЮИКЮ message.of.the.day Х ОЕПБНИ НОЕПЮЖХХ ГЮОХЯХ Б ЩРНР ТЮИК. оНЯКЕДСЧЫХЕ ОЕПЕМЮОПЮБКЕМХЪ АСДСР ДЮБЮРЭ РНР ФЕ ПЕГСКЭРЮР: МНБШЕ ОНПЖХХ БШБНДХЛНИ ХМТНПЛЮЖХХ АСДСР ДНОХЯШБЮРЭЯЪ Й ЯНДЕПФЮМХЧ ТЮИКЮ. еЯКХ ЩРН МЕФЕКЮРЕКЭМН, МЕНАУНДХЛН Б ЪБМНЛ БХДЕ ГЮЙПШБЮРЭ ТЮИК Я ОНЛНЫЭЧ НОЕПЮРНПЮ close, ПЮЯЯЛНРПЕММНЦН МХФЕ.
оПНЦПЮЛЛЮ awk ДНОСЯЙЮЕР РЮЙФЕ Х ОЕПЕМЮОПЮБКЕМХЕ БШБНДЮ Б ЙНМБЕИЕП. б ЩРНЛ ЯКСВЮЕ НОПЕЮРНП БШБНДЮ ХЛЕЕР БХД
printf A, B, C, ... | CMD
ЦДЕ ЙНЛЮМДЮ CMD ЛНФЕР АШРЭ ОПНХГБНКЭМШЛ ЯРПНЙНБШЛ БШПЮФЕМХЕЛ. гМЮВЕМХЕ ЩРНЦН ЯРПНЙНБНЦН БШПЮФЕМХЪ ОЕПЕДЮЕРЯЪ ЙНЛЮДМНЛС ХМРЕПОПЕРЮРНПС НОЕПЮЖХНММНИ ЯХЯРЕЛШ ДКЪ ХЯОНКМЕМХЪ.
оПХ ОЕПЕМЮОПЮБКЕМХХ БШБНДЮ ЯКЕДСЕР ХЛЕРЭ Б БХДС, ВРН МЕЙНРНПШЕ ПЕЮКХГЮЖХХ awk МЮЙКЮДШБЮЧР ЯЕПЭЕГМШЕ НЦПЮМХЕМХЪ МЮ ЙНКХВЕЯРБН НДМНБПЕЛЕММН НРЙПШРШУ ТЮИКНБ. оНЩРНЛС УНПНЬХЛ РНМНЛ ОПНЦПЮЛЛХПНБЮМХЪ МЮ awk ЪБКЪЕРЯЪ МЕЛЕДКЕММНЕ ГЮЙПШРХЕ ТЮИКНБ ББНДЮ/БШБНДЮ, ЙЮЙ РНКЭЙН Б МХУ НРОЮДЮЕР МЕНАУНДХЛНЯРЭ.
еЯКХ ТЮИКШ Х ЙНМБЕИЕПШ НРЙПШБЮЧРЯЪ awk ОН ЛЕПЕ МЕНАУНДХЛНЯРХ Х НЯРЮЧРЯЪ НРЙПШРШЛХ ДН НЙНМВЮМХЪ ПЮАНРШ ОПНЦПЮЛЛШ, РН ГЮЙПШРХЕ ТЮИКНБ НЯСЫЕЯРБКЪЕРЯЪ ЙНЛЮМДЮЛХ
close (filename) | ГЮЙПШРЭ ТЮИК filename |
close (COMMAND) | ГЮЙПШРЭ ЙНМБЕИЕП COMMAND. |
print "ERROR" | " cat 1 > & 2"
б ПЮГМШУ БЕПЯХЪУ awk ХЯОНКЭГСЧРЯЪ ПЮГМШЕ РПЧЙХ ДКЪ ПЮАНРШ Я
ЙЮМЮКЮЛХ. б ВЮЯРМНЯРХ, Б GAWK ХЯОНКЭГСЧРЯЪ ЯОЕЖХЮКЭМШЕ ХЛЕМЮ,
ОПХБЕДЕММШЕ Б РЮАК. [*].
if (СЯКНБХЕ) then { ДЕИЯРБХЕ-1 } else { ДЕИЯРБХЕ-2 }еЯКХ ДЕИЯРБХЕ-1 ХКХ -2 ЯНДЕПФХР НДХМ ЕДХМЯРБЕММШИ НОЕПЮРНП, ТХЦСПМШЕ ЯЙНАЙХ МЕ РПЕАСЧРЯЪ.
й МЕЙНРНПНИ РПСДМН НАЗЪЯМХЛНИ НЯНАЕММНЯРХ awk НРМНЯХРЯЪ РН, ВРН ЕЯКХ ДЕИЯРБХЕ-1 ЯНДЕПФХР НДХМ НОЕПЮМД, РН ГЮ МХЛ ДНКФМЮ ЯКЕДНБЮРЭ РНВЙЮ Я ГЮОЪРНИ (;).
жХЙК do-while ХЛЕЕР БХД
do { РЕКН ЖХЙКЮ } while (СЯКНБХЕ)ЦДЕ РЕКН ЖХЙКЮ ХЯОНКЭГСЕРЯЪ ОН ЙПЮИМЕИ ЛЕПЕ НДХМ ПЮГ Х ДН РЕУ ОНП ОНЙЮ СЯКНБХЕ НЯРЮЕРЯЪ ХЯРХММШЛ.
жХЙК while ХЛЕЕР БХД
while (СЯКНБХЕ) { РЕКН ЖХЙКЮ }Х ОПНБЕПЙЮ СЯКНБХЪ НЯСЫЕЯРБКЪЕРЯЪ ДН ХЯОНКМЕМХЪ РЕКЮ ЖХЙКЮ.
жХЙК for ХЛЕЕР ДБЕ ТНПЛШ Б awk: НДМЮ -- РПЮДХЖХНММЮЪ:
for(ХМХЖХЮКХГЮЖХЪ; СЯКНБХЪ; ГЮБЕПЬЕМХЕ){ РЕКН ЖХЙКЮ }Х БРНПЮЪ -- ЮЯЯНЖХЮРХБМЮЪ:
for(index in list){ РЕКН ЖХЙКЮ }ЦДЕ list - ЮЯЯНЖХЮРХБМШИ ЛЮЯЯХБ, ОНДПНАМНЯРХ ПЮАНРШ Я ЙНРНПШЛХ АСДСР ПЮЯЯЛНРПЕМШ МХФЕ. мЮ ЯНДЕПФЮРЕКЭМНЛ СПНБМЕ БРНПЮЪ ТНПЛЮ НОЕПЮРНПЮ for НГМЮВЮЕР ХЯОНКЭГНБЮМХЕ РЕКЮ ЖХЙКЮ ДКЪ ЙЮФДНЦН ЩКЕЛЕМРЮ ЮЯЯНЖХЮРХБМНЦН ЛЮЯЯХБЮ list. оНПЪДНЙ ХЯОНКМЕМХЪ МЕОПЕДЯЙЮГСЕЛ.
б ОПХБЕДЕММШУ ЙНМЯРПСЙЖХЪУ ТХЦСПМШЕ ЯЙНАЙХ {} МЕНАЪГЮРЕКЭМШ ЕЯКХ РЕКН ЖХЙКЮ ОПЕДЯРЮБКЪЕР ЯНАНИ НДХМ НОЕПЮРНП.
б НРКХВХЕ НР C ЪГШЙ awk ЯНДЕПФХР ДБЕ ТНПЛШ НОЕПЮРНПНБ ДНЯПНВМНЦН ОПЕПШБЮМХЪ ЖХЙКЮ Х ДНЯПНВМНЦН ОЕПЕУНДЮ Й ЯКЕДСЧЫЕЛС БШОНКМЕМХЧ РЕКЮ ЖХЙКЮ. щРН ЯБЪГЮМН Я РЕЛ, ВРН ЯЮЛЮ ЙНМЯРПСЙЖХЪ awk ОНДПЮГСЛЕБЮЕР МЕЪБМШИ БМЕЬМХИ ЖХЙК: ВРЕМХЕ ДЮММШУ -- НАПЮАНРЙЮ.
дКЪ ДНЯПНВМНЦН ОПЕЙПЮЫЕМХЪ ЩРНЦН ОПНЖЕЯЯЮ НАПЮАНРЙХ ЯКСФХР НОЕПЮРНП exit. нМ ОН ЯСРХ ДЕКЮ ЩЙБХБЮКЕМРЕМ ОПЕПШБЮМХЧ РЕЙСЫХУ НОЕПЮЖХИ НАПЮАНРЙХ Х ВРЕМХЧ ОПХГМЮЙЮ ЙНМЖЮ БУНДМНЦН ТЮИКЮ (EOF ДКЪ C-ОЮРПХНРНБ). еЯКХ Б awk-ОПНЦПЮЛЛЕ ЕЯРЭ ДЕИЯРБХЪ, ЮЯЯНЖХХПНБЮММШЕ Я НАПЮГНЛ END, НМХ АСДСР БШОНКМЕМШ.
дКЪ ДНЯПНВМНЦН ОПЕПШБЮМХЪ ОПНЖЕЯЯЮ НАПЮАНРЙХ РЕЙСЫЕИ ГЮОХЯХ (Х ГЮОСЯЙЮ МНБНИ НОЕПЮЖХХ ВРЕМХЪ - НАПЮАНРЙХ) ЯКСФХР НОЕПЮРНП next. дКЪ СОПЮБКЕМХЪ ЖХЙКЮЛХ, Б ЪБМНЛ БХДЕ ЯНДЕПФЮЫХЛХЯЪ Б awk-ОПНЦПЮЛЛЮУ, ЯКСФЮР НОЕПЮРНПШ break, continue. нОЕПЮРНП break ОПЕЙПЮЫЮЕР БШОНКМЕМХЕ ЖХЙКЮ, continue ГЮОСЯЙЮЕР МНБНЕ ХЯОНКМЕМХЕ РЕКЮ ЖХЙКЮ.
й НОЕПЮРНПЮЛ СОПЮБКЕМХЪ ОНЯКЕДНБЮРЕКЭМНЯРЭЧ НОЕПЮЖХИ Я МЕЙНРНПНИ МЮРЪФЙНИ ЛНФМН НРМЕЯРХ Х return -- НОЕПЮРНП БНГБПЮРЮ ХГ ТСМЙЖХХ, НОХЯЮММНИ ОПНЦПЮЛЛХЯРНЛ. нОЕПЮРНП
return БШПЮФЕМХЕ
ОНГБНКЪЕР ЯННАЫХРЭ БШГШБЮЧЫЕИ ОПНЦПЮЛЛЕ Б ЙЮВЕЯРБЕ ГМЮВЕМХЪ ТСМЙЖХХ БШВХЯКЕММШЕ ГМЮВЕМХЪ БШПЮФЕМХЪ.
мЮОПХЛЕП, ЕЯКХ ОЕПЕД БЮЛХ ЯРНХР ГЮДЮВЮ ПЮГНАПЮРЭ РЕЙЯРНБШИ ТЮИК-РЮАКХЖС, Б ЙНРНПНИ, ЯЙЮФЕЛ, Б ОЕПБНЛ ЯРНКАЖЕ МЮУНДХРЯЪ ТЮЛХКХЪ ПЮАНРМХЙЮ, ОНКСВХБЬЕЦН БНГМЮЦПЮФДЕМХЕ, НАЭЕЛ ЙНРНПНЦН МЮУНДХРЯЪ Б ЯЕДЭЛНЛ ЯРНКАЖЕ РЮАКХЖШ Х РПСАСЕРЯЪ НОПЕДЕКХРЭ ЯСЛЛЮПМНЕ БНГМЮЦПЮФДЕМХЕ ДКЪ ЙЮФДНЦН ХГ ПЮАНРЮЧЫХУ, awk ПЕЬЮЕР ЩРС ГЮДЮВС Я ОНРПЪЯЮЧЫЕИ КЕЦЙНЯРЭЧ:
{ payoff[7 }
Х ОПНАКЕЛЮ НЯРЮЕРЯЪ КХЬЭ Б БШБНДЕ ГМЮВЕМХИ ЛЮЯЯХБЮ payoff ОН ГЮБЕПЬЕМХЧ ПЮАНРШ ОПНЦПЮЛЛШ.
йНМЕВМН, ДКЪ РЮЙНЦН ОНМЪРХЪ ЛЮЯЯХБЮ РПСДМН ББЕЯРХ ОПЕДБЮПХРЕКЭМНЕ ДЕЙКЮПХПНБЮМХЕ Х ЩКЕЛЕМРШ ЛЮЯЯХБНБ Б awk ЯНГДЮЧРЯЪ Б ЛНЛЕМР ХЯОНКЭГНБЮМХЪ. оН ХЯВЕПОШБЮМХЧ МЕНАУНДХЛНЯРХ Б ЩРНЛ ЩКЕЛЕМРЕ, НР МЕЦН ЛНФМН Б ЪБМНЛ БХДЕ ХГАЮБХРЭЯЪ ОПХ ОНЛНЫХ НОЕПЮРНПЮ delete:
delete payoff["хБЮМНБ"]
Х НЯБНАНДХРЭ ОЮЛЪРЭ ДКЪ АНКЕЕ БЮФМШУ ДЕК. сДЮКХРЭ БЕЯЭ ЛЮЯЯХБ payoff ЛНФМН ЙНЛЮМДНИ
delete payoff
нОПЕДЕКЕМХЕ ЛМНФЕЯРБЮ ХМДЕЙЯНБ ДЮММНЦН ЛЮЯЯХБЮ Х НАУНД ЩКЕЛЕМРНБ ЛЮЯЯХБЮ ЛНФМН ОПНХГБЕЯРХ Я ОНЛНЫЭЧ ЮЯЯНЖХЮРХБМНЦН ЖХЙКЮ, СФЕ СОНЛЪМСРНЦН БШЬЕ. нРПШБНЙ awk-ОПНЦПЮЛЛШ
END { for(name in payoff) printf name, payoff[name] }ЙЮЙ ПЮГ Х ОНГБНКХР ОН ГЮБЕПЬЕМХЧ ПЮАНРШ ОПНЦПЮЛЛШ ЯСЛЛХПНБЮМХЪ БНГМЮЦПЮФДЕМХИ ПЮЯОЕВЮРЮРЭ ЯОХЯНЙ ХЛЕМ ПЮАНРЮЧЫХУ Х ХУ ЯСЛЛЮПМНЕ БНГМЮЦПЮФДЕМХЕ.
еДХМЯРБЕММШЛ МЕДНЯРЮРЙНЛ РЮЙНЦН ОПНЯРНЦН ПЕЬЕМХЪ ЪБКЪЕРЪ МЕНОПЕДЕКЕММШИ ОНПЪДНЙ ХМДЕЙЯНБ ЛЮЯЯХБЮ payoff, Б ЯБЪГХ Я ВЕЛ ХУ ХЛЕМЮ ОНВРХ МЮБЕПМЪЙЮ МЕ АСДСР БШБЕДЕМШ Б ЮКТЮБХРМНЛ ОНПЪДЙЕ !
оПНЯРШЛ БШУНДНЛ ХГ ОНКНФЕМХЪ АСДЕР ГЮОСЯЙ ЙЮЙНИ-КХАН БМЕЬМЕИ ОПНЦПЮЛЛШ ЯНПРХПНБЙХ РЕЙЯРНБШУ ТЮИКНБ, ЙНРНПЮЪ ДНЯРЮРНВМН ПЮГСЛМЮ ДКЪ РНЦН, ВРНАШ ГМЮРЭ Н ЯСЫЕЯРБНБЮМХХ ПСЯЯЙНЦН ЮКТЮБХРЮ.
еЫЕ НДМХЛ ВЮЯРН БЯРПЕВЮЧЫХЛЯЪ ЯОНЯНАНЛ ОНПНФДЕМХЪ ЛЮЯЯХБНБ ЪБКЪЕРЯЪ ХЯОНКЭГНБЮМХЕ БЯРПНЕММНИ ТСМЙЖХХ split. щРЮ ТСМЙЖХЪ ЛНФЕР ХЛЕРЭ ДБЮ ХКХ РПХ ЮПЦСЛЕМРЮ Х ХЯОНКЭГСЕРЯЪ ДКЪ ПЮГАХЕМХЕ ЙЮЙНИ-КХАН ЯРПНЙХ МЮ НРДЕКЭМШЕ ВЮЯРХ, ГЮОНКМЪЧЫХЕ ЯНАНИ ЛЮЯЯХБ.
мЮОПХЛЕП, НОЕПЮРНП
n = split("31.12.1999", date, ".")
ПЮГНАЭЕР ЯРПНЙС "31.12.1999" МЮ РПХ ВЮЯРХ "31", "12", "1999", ХЯОНКЭГСЪ Б ЙЮВЕЯРБЕ ПЮГДЕКХРЕКЪ ЯХЛБНК "." Х ОПХЯБНХР ЛЮЯЯХБС date ГМЮВЕМХЪ:
date[1] = "31", date[2] = "12", date[3] = "1999".оЕПЕЛЕММНИ n ОПХЯБНХРЯЪ, ЙНМЕВМН, ГМЮВЕМХЕ 3.
еЯКХ ТСМЙЖХЪ split БШГШБЮЕРЯЪ Я ДБСЛЪ ЮПЦСЛЕМЮЛХ, ОНДПЮГСЛЕБЮЕРЯЪ, ВРН ЯХЛБНКНЛ-ПЮГДЕКХРЕКЕЛ ЪБКЪЕРЯЪ ГМЮВЕМХЕ БЯРПНЕММНИ ОЕПЕЛЕММНИ awk FS -- ОН СЛНКВЮМХЧ ОПНАЕКЭМШИ ЯХЛБНК.
рЮЙХЛ НАПЮГНЛ
nn = split($0, tokens)
Б ЪБМНЛ БХДЕ БШОНКМХР РС ПЮАНРС, ВРН awk ДЕКЮЕР ОН СЛНКВЮМХЧ:
ПЮГДЕКХР БУНДМСЧ ЯРПНЙС ($0
) МЮ НРДЕКЭМШЕ ЩКЕЛЕМРШ Х ГЮОХЬЕР ХУ
Б ЛЮЯЯХБ tokens.
йНКХВЕЯРБН ЩКЕЛЕМРНБ АСДЕР ГЮОНЛМЕМН, ЙЮЙ ГМЮВЕМХЕ ОЕПЕЛЕММНИ nn.
щРН ОНКМНЯРЭЧ ЩЙБХБЮКЕМРМН ЪБМНЛС ЖХЙКС
for(i = 1; i <= NF; i++) tokens[i] = $i nn = NFМН, ЙНМЕВМН, МЮЛМНЦН АНКЕЕ ЩТТЕЙРХБМН, ЩЙНМНЛХР ОЮЛЪРЭ Х АСЛЮЦС Х, ЯКЕДНБЮРЕКЭМН, ЯНУПЮМЪЕР НЙПСФЮЧЫСЧ ЯПЕДС.
хУ НЯМНБМШЕ УЮПЮЙРЕПХЯРХЙХ ОПХБЕДЕМШ Б РЮАК. [*].
рЮАКХЖЮ [*]. бЯРПНЕММШЕ ТСМЙЖХХ ЪГШЙЮ awk | |
вХЯКЕММШЕ ТСМЙЖХХ | |
atan2 | ЮПЙРЮМЦЕМЯ |
cos | ЙНЯХМСЯ |
exp | ЩЙЯОНМЕМРЮ |
int | ЖЕКНВХЯКЕММНЕ НЙПСЦКЕМХЕ |
log | МЮРСПЮКЭМШИ КНЦЮПХТЛ |
rand | ОЯЕБДНЯКСВЮИМНЕ ВХЯКН ХГ ХМРЕПБЮКЮ |
sin | ЯХМСЯ |
sqrt | ЙБЮДПЮРМШИ ЙНПЕМЭ |
srand | ХМЖХЮКХГЮЖХЪ ЯКСВЮИМНЦН ДЮРВХЙЮ |
яРПНЙНБШЕ ТСМЙЖХХ | |
sub, gsub | БШДЕКЕМХЕ ОНДЯРПНЙХ |
index | ОНХЯЙ ЛЕРЮ Б ЯРПНЙЕ |
length | ДКХМЮ ЯРПНЙХ |
match | ОПНБЕПЙЮ МЮ МЮКХВХЕ ОНДЯРПНЙХ |
split | ПЮГАХБЙЮ ЯРПНЙХ МЮ ЩКЕЛЕМРШ |
substr | БШДЕКЕМХЕ ОНДЯРПНЙХ |
tolower | ОЕПЕБНД Б МХФМХИ ПЕЦХЯРП |
toupper | ОЕПЕБНД Б БЕПУМХИ ПЕЦХЯРП |
тСМЙЖХХ, НОПЕДЕКЪЧЫХЕ ЯХЯРЕЛМНЕ БПЕЛЪ | |
systime() | БНГБПЮЫЮЕР ВХЯКН ЯЕЙСМД, ОПНЬЕДЬХУ ЯН БПЕЛЕМХ МЕЙНРНПНЦН ГМЮЛЕМЮРЕКЭМНЦН Я РНВЙХ ГПЕМХЪ НОЕПЖХНММНИ ЯХЯРЕЛШ ЯНАШРХЪ. мЮ POSIX-ЯРЮМДЮПРМШУ ЯХЯРЕЛЮУ ЩРН БПЕЛЪ, ОПНЬЕДЬЕЕ Я ОНКМНВХ 1 ЪМБЮПЪ 1979 Ц. ОН цПХМБХВС. |
strftime( ) | БНГБПЮЫЮЕР ЯРПНЙНБНЕ ГМЮВЕМХЕ БПЕЛЕММНИ ЛЕРЙХ TIME (БРНПНИ ЮПЦСЛЕМР) Б ЯННРБЕРЯРБХХ Я ТНПЛЮРНЛ FORMAT (ОЕПБШИ ЮПЦСЛЕМР). дЕРЮКХ ЯКХЬЙНЛ СРНЛХРЕКЭМШ, ВРНАШ ХУ ХГКЮЦЮРЭ Б РЮЙНЛ ЛЮКНЛ НАЭЕЛЕ. |
пЮГМНЕ | |
system(s) | ЯРПНЙЮ s ХМРЕПОПЕРХПСЕРЯЪ ЙЮЙ ЙНЛЮМДЮ НОЕПЮЖХНММНИ ЯХЯРЕЛШ Х ХЯОНКМЪЕРЯЪ ЙНЛЮМДМШЛ ХМРЕПОПЕРЮРНПНЛ. |
цЕМЕПЮРНП ЯКСВЮИМШУ ВХЯЕК rand() ЛНФЕР АШРЭ ОПНХМХЖХЮКХГХПНБЮМ Я ОНЛНЫЭЧ ТСМЙЖХХ srand(x). оН СЛНКВЮМХЧ Б ЙЮВЕЯРБЕ x ХЯОНКЭГСЕРЯЪ БПЕЛЪ ДМЪ. еЯКХ rand() МЕ ХМХЖХЮКХГЮПСЕРЯЪ, РН ОПХ ОНБРНПМНЛ ХЯОНКМЕМХХ awk-ОПНЦПЮЛЛШ ЦЕМЕПХПСЕРЯЪ РЮ ФЕ ЯЮЛЮЪ ОНЯКЕДНБЮРЕКЭМНЯРЭ ВХЯЕК.
яРПНЙНБШЕ ТСМЙЖХХ ХЛЕЧР ЯКЕДСЧЫХИ ЯХМРЮЙЯХЯ Х ДЕИЯРБХЕ:
$0
.
function FunctionName(a, b, ..., z) { ... РЕКН ТСМЙЖХХ ... }нРМНЯХРЕКЭМН ХЛЕМХ ТСМЙЖХХ Х ХЛЕМ ОЕПЕЛЕММШУ БШОНКМЪЧРЯЪ НАШВМШЕ ЯНЦКЮЬЕМХЪ Н ДНОСЯРХЛШУ ХДЕМРХТХЙЮРНПЮУ Б awk.
рЕКН ТСМЙЖХХ ОПЕДЯРЮБКЪЕР ЯНАНИ МЮАНП awk-ЙНЛЮМД, ОПХЛЕМЪЕЛШУ Й
ЯОХЯЙС ОЮПЮЛЕРПНБ ГЮЦНКНБЙЮ ТСМЙЖХХ.
тСМЙЖХЪ ЛНФЕР АШРЭ ''ПЕЙЙСПЯХБМНИ'', БШГШБЮЪ ЯЮЛНЕ ЯЕАЪ.
йНКХВЕЯРБН ЮПЦСЛЕМРНБ Б ТЮЙРХВЕЯЙНЛ БШГНБЕ ТСМЙЖХХ ЛНФЕР НРКХВЮРЭЯЪ
НР ЙНКХВЕЯРБЮ ЮПЦСЛЕМРНБ Б НОХЯЮМХХ.
''кХЬМХЕ'' ОЕПЕЛЕММШЕ ОНКСВЮЧР Б ЙЮВЕЯРБЕ ГМЮВЕМХИ ОСЯРСЧ ЯРПНЙС
""
.
оПХ БШГНБЕ ТСМЙЖХХ Б awk-ОПНЦПЮЛЛЕ МЕ ДНКФМН АШРЭ МХЙЮЙХУ ЯХЛБНКНБ
( Б РНЛ ВХЯКЕ Х ОПНАЕКЭМШУ ) ЛЕФДС
ХЛЕМЕЛ ТСМЙЖХХ Х ЯОХЯЙНЛ ЮПЦСЛЕМРНБ Б ЯЙНАЙЮУ.
б awk ХЯОНКЭГСЕРЯЪ ЛЕУЮМХГЛ ОЕПЕДЮВХ ОЮПЮЛЕРПНБ ''ОН ГМЮВЕМХЧ'', РЮЙ ВРН БЯЪЙХЕ ХГЛЕМЕМХЪ, ОПНХЯУНДЪЫХЕ Я ЮПЦСЛЕМРЮЛХ Б ТСМЙЖХХ, МЕ ХГЛЕМЪЧР ГМЮВЕМХИ ЩРХУ ОЕПЕЛЕММШУ БМЕ ТСМЙЖХХ.
нДМЮЙН, ЕЯКХ ЮПЦСЛЕМРНЛ ТСМЙЖХХ ЪБКЪЕРЯЪ ЛЮЯЯХБ, ГМЮВЕМХЪ ЕЦН ЩКЕЛЕМРНБ ЛНЦСР АШРЭ ХГЛЕМЕМШ БМСРПХ РЕКЮ ТСМЙЖХХ.
йЮМНМХВЕЯЙНЕ ЛМНФЕЯРБН | |
FILENAME | ХЛЪ ТЮИКЮ, НАПЮАЮРШБЮЕЛНЦН awk Б МЮЯРНЪЫХИ ЛНЛЕМР |
FS | ПЮГДЕКХРЕКЭ ОНКЕИ Б ГЮОХЯХ |
NF | ЙНКХВЕЯРБН ОНКЕИ Б РЕЙСЫЕИ ГЮОХЯХ |
NR | МНЛЕП РЕЙСЫСИ ГЮОХЯХ |
OFS | ПЮГДЕКХРЕКЭ ОНКЕИ ОПХ БШБНДЕ |
ORS | ПОГДЕКХРЕКЭ ГЮОХЯЕИ ОПХ БШБНДЕ |
RS | ПЮГДЕКХРЕКЭ ГЮОХЯЕИ |
$0 |
ЮДПЕЯСЕР БЯЧ ГЮОХЯЭ ЖЕКХЙНЛ |
$n |
ЮДПЕЯСЕР -НЕ ОНКЕ Б ГЮОХЯХ |
gawk | |
ARGV | ЛЮЯЯХБ ЮПЦСЛЕМРНБ ЙНЛЮМДМНИ ЯРПНЙХ |
ARGC | ЙНКХВЕЯБРН ЮПЦСЛЕМРНБ ЙНЛЮМДМНИ ЯРПНЙХ |
CONVFMT | ТНПЛЮР БМСРПЕММЕЦН ОПЕНАПЮГНБЮМХЪ ''ВХЯКН'' ''ЯРПНЙЮ'' |
ENVIRON | ЛЮЯЯХБ ОЕПЕЛЕММШУ ЯПЕДШ |
FNR | МНЛЕП ГЮОХЯХ Б РЕЙСЫЕЛ ТЮИКЕ |
IGNORECASE | ЕЯКХ ЩРЮ ОЕПЕЛЕММЮЪ МЕОСЯРЮ, РН БЯЕ ЯПЮБМЕМХЪ awk ОПНБНДХР ХЦМНПХПСЪ ПЮГМХЖС ЛЛЕФДС АСЙБЮЛХ Б БЕПУМЕЛ Х МХФМЕЛ ПЕЦХЯРПЮУ |
OFMT | ТНПЛЮР БШБНДЮ ДКЪ ВХЯЕК |
RSTART | ОНКНФЕМХЕ ОЕПБНЦН ЯНБОЮДЕМХЪ, МЮИДЕМНЦН ЙНЛЮМДНИ match |
RLENGTH | ДКХМЮ ЯНБОЮДЕМХЪ, МЮИДЕМНЦН ЙНЛЮМДНИ match |
SUBSEP | ЯХЛБНК-ПЮГДЕКХРЕКЭ ДКЪ ХМДЕЙЯНБ ЛЮЯЯХБНБ |
оЕПЕЛЕММШЕ, ХЯОНКЭГСЕЛШЕ Б ОПНЦПЮЛЛЮУ awk, МЕ РПЕАСЧР ОПЕДБЮПХРЕКЭМНЦН ДЕЙКЮПХПНБЮМХЪ Х ХУ РХО НОПЕДЕКЪЕРЯЪ ЙНМРЕЙЯРНЛ ХЯОНКЭГНБЮМХЪ. оЕПЕЛЕММЮЪ box ЛНФЕР АШРЭ ОПНХМХЖХЮКХГХПНБЮМЮ ЯРПНЙНИ "4":
box = "4"ГЮРЕЛ Я МЕИ ЛНФМН БШОНКМХРЭ ЮПХТЛЕРХВЕЯЙНЕ ДЕИЯРБХЕ
box = box*4Х ГЮРЕЛ ЯРПНЙНБСЧ НОЕПЮЖХЧ ( МЮОПХЛЕП, ЙНМЙЮРЕМЮЖХЧ )
box = box " boxes of candies"Б ПЕГСКЭРЮРЕ ВЕЦН ОЕПЕЛЕММЮЪ box ОПХЛЕР ГМЮВЕМХЕ "16 boxes of candies".
оПЕНАПЮГНБЮМХЕ ХГ ЯРПНЙНБНЦН Б ВХЯКНБНИ РХО Х НАПЮРМН ОПНХЯУНДХР ОПНГПЮВМШЛ
ДКЪ ОНКЭГНБЮРЕКЪ НАПЮГНЛ.
оНБКХЪРЭ МЮ ЩРН ОПЕНАПЮГНБЮМХЕ ЛНФМН ХГЛЕМХБ ГМЮВЕМХЕ БЯРПНЕММНИ ОЕПЕЛЕММНИ
CONVFMT, ЙНРНПЮЪ ОН СЛНКВЮМХЧ ХЛЕЕР ГМЮВЕМХЕ "%.6g"
.
пЕГСКЭРЮР ОПЕНАПЮГНБЮМХЪ ВХЯКЮ Б ЯРПНЙС ЩЙБХБЮКЕМРЕМ ХЯОНКЭГНБЮМХЧ
ТСМЙЖХХ sprintf c ОЕПЕЛЕММНИ CONVFMT,
НОПЕДЕКЪЧЫЕИ ТНПЛЮР ОПЕНАПЮГНБЮМХЪ.
оПХ ОЕПЕБНДЕ ЯРПНЙХ Б ВХЯКН awk ОПНЪБКЪЕР ДНЯРНВМН ХМРЕККЕЙРЮ ДКЪ РНЦН, ВРНАШ ПЮЯОНГМЮРЭ "100", "1e2", "100fix" ЙЮЙ ВХЯКН 100. оПХ ОЕПЕБНДЕ Б ВХЯКНБСЧ ТНПЛС ЯРПНЙ РХОЮ "бЮЯЪ" БНГБПЮЫЮЕРЯЪ МСКЕБНЕ ГМЮВЕМХЕ.
еЯКХ ОН ЙЮЙХЛ-КХАН ОПХВХМЮЛ МЕНАУНДХЛН ТНПЯХПНБЮМН ОЕПЕБЕЯРХ
ОЕПЕЛЕММСЧ ХКХ БШПЮФЕМХЕ ХГ ВХЯКНБНИ ТНПЛШ Б ЯРПНЙНБСЧ,
ПЕЙНЛЕМДСЕРЯЪ
ЙНМЙЮРЕМХПНБЮРЭ ЕЕ Я ОСЯРНИ ЯРПНЙНИ ""
.
еЯКХ МЕНАУНДХЛ ОЕПЕБНД ХГ ЯРПНЙНБНИ Б ВХЯКНБСЧ ТНПЛС, ЛНФМН ОПХАЮБХРЭ 0.
гМЮВЕМХЪ ОЕПЕЛЕММШУ Б awk НОПЕДЕКЪЕРЯЪ МЕ РНКЭЙН ОПХЯБНЕМХЕЛ, НОЕПЮРНПЮЛХ ХМЙПЕЛЕМРЮ Х ДЕЙПЕЛЕМРЮ, МН ЛНЦСР АШРЭ НОПЕДЕКЕМШ Х Б ЙНЛЮМДМНИ ЯРПНЙЕ. оНЯКЕДМЕЕ НЯНАЕММН СДНАМН ОПХ МЮОХЯЮМХХ shell-ОПНЦПЮЛЛ, ЯНДЕПФЮЫХУ НАПЮЫЕМХЪ Й awk. гМЮВЕМХЪ ОЕПЕЛЕММШУ НОЕПЕДЕКЪЧРЯЪ ОПХ ЩРНЛ ХЯОНКЭГСЪ НОЖХЧ -v. НОХЯЮММСЧ МХФЕ.
тЮИК ДЮММШИ ОПЕДЯРЮБКЪЕР ЯНАНИ РНР ТЮИК, Й ЙНРНПНЛС ОПХЛЕМЪЕРЯЪ awk-ОПНЦПЮЛЛЮ. еЯКХ РЮЙНИ ТЮИК НРЯСРЯРБСЕР, ОН awk-ОПНЦПЮЛЛЮ ОПХЛЕМЪЕРЯЪ Й ОНРНЙС ЯРЮМДЮПРМНЦН ББНДЮ. щРН ОНГБНКЪЕР ОПХЛЕМЪРЭ awk Б ЙНМБЕИЕПЮУ.
нОХЖХХ ДКЪ awk ГЮДЮЧРЯЪ Б POSIX-ЯРХКЕ АСЙБНИ, ОЕПЕД ЙНРНПНИ ПЮЯОНКЮЦЮЕРЯЪ ГМЮЙ ЛХМСЯ (-). яВЮЯРКХБШЕ ОНКЭГНБЮРЕКХ gawk ЛНЦСР ХЯОНКЭГНБЮРЭ ''ДКХМШЕ'' ХЛЕМЮ ДКЪ НОЖХИ Б GNU-ЯРХКЕ, ОЕПЕД ЙНРНПШЛХ МЕНАУНДХЛН ПЮГЛЕЯРХРЭ ДБЮ ЛХМСЯЮ (-). бШГШБЮЪ gawk, ЛНФМН БОЕПЕЛЕЬЙС ХЯОНКЭГНБЮРЭ ДКХМШЕ Х ЙНПНРЙХЕ ТНПЛШ НОЖХИ.
оПНЦПЮЛЛЮ awk ОНМХЛЮЕР Б НЯМНБМНЛ ЯКЕДСЧЫХЕ НОЖХХ:
щРЮ НОЖХЪ СЯРЮМЮБКХБЮЕР ПЮГДЕКХРЕКЭ ОНКЕИ Б ГЮОХЯХ ПЮБМШИ FS. | |
СЙЮГШБЮЕР МЮ РН, ВРН awk-ОПНЦПЮЛЛЮ МЮУНДХРЯЪ Б ТЮИКЕ file | |
ОПХЯБЮХБЮЕР ОЕПЕЛЕММНИ VAR ГМЮВЕМХЕ VAL. оПХЯБНЕМХЕ БШОНКМЪЕРЯЪ ОЕПЕД МЮВЮКНЛ ПЮАНРШ awk-ОПНЦПЮЛЛШ. | |
рЮЙ ФЕ ЙЮЙ Х f-НОЖХЪ, СЙЮГШБЮЕР МЮ РН, ВРН awk-ОПНЦПЮЛЛЮ ( ХКХ ВЮЯРЭ ЕЕ ) МЮУНДХРЯЪ Б ТЮИКЕ file. оНГБНКЪЕР ХЯОНКЭГНБЮРЭ ЙНЛАХМЮЖХЧ ББНДЮ ОПНЦПЮЛЛШ ВЕПЕГ ЙНЛЮМДМСЧ ЯРПНЙС Х ХГ ГЮПЮМЕЕ ОНДЦНРНБКЕММНЦН ТЮИКЮ. | |
яННАЫЮЕР БЕПЯХЧ awk(gawk). | |
-c | ГЮЯРЮБКЪЕР ''gawk'' ПЮАНРЮРЭ ЙЮЙ ''awk''. |
- | НАНГМЮВЮЕР ЙНМЕЖ НОЖХИ. дЮКЕЕ ''-'' МЕ НАНГМЮВЮЕР МЮВЮКН НОЖХХ. щРЮ НОЖХЪ ДЮЕР БНГЛНФМНЯРЭ ПЮАНРЮРЭ Я ТЮИКЮЛХ, ХЛЕМЮ ЙНРНПШУ МЮВХМЮЧРЯЪ МЮ ДЕТХЯ(-). |
{ max = NF > max ? NF : max } END { print max }
щРН ОПНЦПЮЛЛЮ ОНДЯВХРШБЮЕР ЛЮЙЯХЛЮКЭМНЕ ВХЯКН ОНКЕИ Б ГЮОХЯЪУ.
length($0) < 64
щРЮ СКЭРПЮЙНПНРЙЮЪ ОПНЦПЮЛЛЮ ОЕВЮРЮЕР БЯЕ ЯРПНЙХ ЙНПНВЕ 64 ЯХЛБНКНБ. б ВЮЯРМНЯРХ НМЮ ЛНФЕР ОНЛНВЭ БНЯЯРЮМНБХРЭ ХЯОНПВЕМШИ uuencode-ХПНБЮМШИ ТЮИК, ОНРЕПЪБЬХИ Б ОПНЖЕЯЯЕ ОЕПЕДЮВХ УБНЯРНБШЕ ОПНАЕКШ Б МЕЙНРНПШУ ЯРПНЙЮУ.
нАКЮЯРЭ ДЕИЯРБХЪ ГДЕЯЭ ОСЯРЮ Х ОНЩРНЛС ОН СЛНКВЮМХЧЧ ОПНХГБНДХРЯЪ ОЕВЮРЭ ГЮОХЯХ.
NF > 0
щРЮ ОПНЦПЮЛЛЮ ТЮЙРХВЕЯЙХ СДЮКЪЕР БЯЕ ОСЯРШЕ ЯРПНЙХ ХГ ТЮИКЮ.
{ if (NF > 0) print }
щРЮ ОПНЦПЮЛЛЮ ЩЙБХБЮКЕМРЮ ОПЕДШДСЫЕИ, МН ПЕЬЕМХЕ Н ОЕВЮРХ ГЮОХЯХ ОПХМХЛЮЕРЯЪ Б НАКЮЯРХ ДЕИЯРБХЪ, ХЯОНКЭГСЪ СЯКНБМШИ НОЕПЮРНП.
BEGIN { for (i = 1; i <= 10; i++) print int(101 * rand()) }
щРЮ ОПНЦПЮЛЛЮ ОЕВЮРЮЕР 10 ЖЕКШУ ЯКСВЮИМШУ ВХЯЕК ХГ ХМРЕПБЮКЮ НР МСКЪ ДН 100.
ls -l | awk '{ x += $4 } ; END { print "total bytes: " x }
щРЮ ОПНЦПЮЛЛЮ ОНДЯВХРШБЮЕР ЙНКХВЕЯРБН АЮИРНБ Б ТЮИКЮУ ДЮММНИ ДХПЕЙРНПХХ.
expand FILE | awk '{ x = x < length() ? length() : x } END { print "maximum line length is " x }''
нОПЕДЕКЕМХЕ ЛЮЙЯХЛЮКЭМНИ ДКХМШ ГЮОХЯХ Б ТЮИКЕ. оПЕДБЮПХРЕКЭМЮЪ НАПЮАНРЙЮ ОПНЦПЮЛЛЮНИ expand ОПЕБПЮЫЮЕР ЯХЛБНКШ РЮАСКЪЖХХ Б ЯННРБЕРЯРБСЧЫЕЕ ВХЯКН ОПНАЕКНБ, ВРНАШ БХДХЛЮЪ ДКХМЮ ЯРПНЙХ ЯНБОЮДЮКЮ Я ЙНКХВЕЯРБНЛ ЯХЛБНКНБ.
BEGIN { FS = ":" } { print $1 | "sort" }
щРЮ ОПНЦПЮЛЛЮ БШДЕКЪЕР ХГ ТЮИКЮ /etc/passwd Я ПЕЦХЯРПЮЖХНММНИ ХМТНПЛЮЖХЕИ ХЛЕМЮ ОНКЭГНБЮРЕКЕИ Х ОЕВЮРЮЕР ХУ Б ЮКТЮБХРМНЛ ОНПЪДЙЕ.
{ nlines++ } END { print nlines }
оНДЯВЕР ЯРПНЙ Б ТЮИКЕ.
END { print NR }
рЮЙФЕ ОНДЯВЕР ЯРПНЙ Б ТЮИКЕ,МН СФЕ ЯПЕДЯРБЮЛХ awk.
{ print NR, $0 }
щРЮ ОПНЦПЮЛЛЮ МСЛЕПСР ЯПНЙХ Б ТЮИКЕ.
нЯМНБМШЛ ЛЕЯРНЛ УПЮМЕМХЪ awk ЪБКЪЕРЯЪ ДЕОНГХРЮПХИ GNU-ОПНЦПЮЛЛМНЦН НАЕЯОЕВЕМХЪ http://www.gnu.org, ВЕПЕГ ЙНРНПШИ ЛНФМН БШИРХ МЮ ЛМНЦНВХЯКЕММШЕ ГЕПЙЮКЮ. бЕПЯХЧ ДКЪ DOS/WINDOWS ЛНФМН МЮИРХ МЮ ЯЮИРЕ www.simtel.net Х ЕЦН ГЕПЙЮКЮУ.
27*x = 43
HIVE: All information for read only. Please respect copyright! |