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

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

3. оНКЕГМШЕ НДМНЯРПНВМШЕ ОПНЦПЮЛЛШ

нЦКЮБКЕМХЕ

лМНЦХЕ ОНКЕГМШЕ awk-ОПНЦПЮЛЛШ --- ЙНПНРЙХЕ, ГЮМХЛЮЧР НДМС ХКХ ДБЕ ЯРПНЙХ. лШ ОПЕДКЮЦЮЕЛ ГДЕЯЭ ДКЪ МЮВЮКЮ МЮАНП РЮЙХУ ОПНЦПЮЛЛ. мЕЙНРНПШЕ ХГ МХУ ЯНДЕПФЮР ЕЫЕ МЕ ПЮЯЯЛНРПЕММШЕ ЙНМЯРПСЙЖХХ. нОХЯЮМХЕ ЩРХУ ОПНЦПЮЛЛ ОНЙЮФЕР БЮЛ, ВРН Й ВЕЛС. мН ВРНАШ ЯРЮРЭ ЩЙЯОЕПРНЛ ОН awk, МСФМН ОПНВЕЯРЭ ЙМХЦС ДН ЙНМЖЮ!

б АНКЭЬХМЯРБЕ ОПХЛЕПНБ ТХЦСПХПСЕР ТЮИК Я ДЮММШЛХ Я ХЛЕМЕЛ `data'. еЯКХ БШ АСДЕРЕ ОНКЭГНБЮРЭЯЪ ЩРХЛХ ОПНЦПЮЛЛЮЛХ, БЮЛ МСФМН ГЮЛЕМХРЭ `data' ХЛЕМЕЛ ЯБНЕЦН ТЮИКЮ Я ДЮММШЛХ.

awk '- if (length($0) ? max) max = length($0) ""

END - print max ""' data

щРЮ ОПНЦПЮЛЛЮ ОЕВЮРЮЕР ДКХМС ЯЮЛНИ ДКХММНИ БУНДМНИ ЯРПНЙХ.

awk 'length($0) ? 80' data

щРЮ ОПНЦПЮЛЛЮ ОЕВЮРЮЕР ЙЮФДСЧ ЯРПНЙС, ЙНРНПЮЪ ДКХММЕЕ 80 ЯХЛБНКНБ. еДХМЯРБЕММНЕ ОПЮБХКН ХЛЕЕР Б ЙЮВЕЯРБЕ НАПЮГЖЮ НРМНЯХРЕКЭМНЕ БШПЮФЕМХЕ Х МЕ ХЛЕЕР ДЕИЯРБХЪ ( Р. Е., ХЯОНКЭГСЕРЯЪ ДЕИЯРБХЕ ОН СЛНКВЮМХЧ --- ОЕВЮРЭ ГЮОХЯХ).

expand data -- awk '- if (x ! length()) x = length() ""

END - print "maximum line length is " x ""'

щРЮ ОПНЦПЮЛЛЮ ОЕВЮРЮЕР ДКХМС ЯЮЛНИ ДКХММНИ ЯРПНЙХ Б `data'. бБНД НАПЮАЮРШБЮЕРЯЪ ОПНЦПЮЛЛНИ expand, ГЮЛЕМЪЧЫЕИ РЮАСКЪЖХЧ ОПНАЕКЮЛХ, РЮЙ ВРН ЯПЮБМХБЮЧРЯЪ ЬХПХМШ ГЮОХЯЕИ ДН ЯЮЛНИ ОПЮБНИ ЙНКНМЙХ.

awk 'NF ? 0' data

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

awk 'BEGIN - for (i = 1; i != 7; i++)

print int(101 * rand()) ""'

щРЮ ОПНЦПЮЛЛЮ ОЕВЮРЮЕР ЯЕЛЭ ЯКСВЮИМШУ ВХЯЕК ХГ ДХЮОЮГНМЮ НР 0 ДН 100
БЙКЧВХРЕКЭМН.

ls -lg files -- awk '- x += $5 "" ; END - print "total bytes: " x ""'

щРЮ ОПНЦПЮЛЛЮ ОЕВЮРЮЕР ЯСЛЛЮПМНЕ ЙНКХВЕЯРБН АЮИРНБ Б ТЮИКЮУ РЕЙСЫЕЦН ЙЮРЮКНЦЮ.

ls -lg files -- awk '- x += $5 ""

END - print "total K-bytes: " (x + 1023)/1024 ""'

щРЮ ОПНЦПЮЛЛЮ ОЕВЮРЮЕР ЙНКХВЕЯРБН ЙХКНАЮИРНБ Б ТЮИКЮУ ЙЮРЮКНЦЮ.

awk -F: '- print $1 ""' /etc/passwd -- sort

щРЮ ОПНЦПЮЛЛЮ ОЕВЮРЮЕР НРЯНПРХПНБЮММШИ ЯОХЯНЙ ПЕЦХЯРПЮЖХНММШУ ХЛЕМ БЯЕУ
ОНКЭГНБЮРЕКЕИ.

awk 'END - print NR ""' data

щРЮ ОПНЦПЮЛЛЮ ОЕВЮРЮЕР ЙНКХВЕЯРБН ЯРПНЙ Б ТЮИКЕ data.

awk 'NR % 2 == 0' data

щРЮ ОПНЦПЮЛЛЮ ОЕВЮРЮЕР ЯРПНЙХ ТЮИКЮ data Я ВЕРМШЛХ МНЛЕПЮЛХ. еЯКХ ГЮЛЕМХРЭ БШПЮФЕМХЕ МЮ `NR % 2 == 1', АСДСР ОЕВЮРЮРЭЯЪ МЕВЕРМШЕ ЯРПНЙХ.

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

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

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