Mụta ka esi eji mgbanwe arụnyere Awk - akụkụ 10
Ka anyị na-ekpughe akụkụ nke atụmatụ Awk, n'akụkụ a nke usoro a, anyị ga-ejegharị n'echiche nke mgbanwe ndị arụnyere na Awk. Enwere ụdị mgbanwe abụọ ị nwere ike iji na Awk, ndị a bụ; mgbanwe mgbanwe nke onye ọrụ, nke anyị kpuchiri na Nkebi 8 yana mgbanwe arụnyere n'ime ya.
Ngbanwe arụnyere n'ime nwere ụkpụrụ akọwapụtalarị na Awk, mana anyị nwekwara ike jiri nlezianya gbanwee ụkpụrụ ndị ahụ, mgbanwe ndị etinyere gụnyere:
FILENAME
: aha faịlụ ntinye ugbu a( agbanwela aha agbanwe agbanwe)FR
: ọnụọgụ nke ahịrị ntinye dị ugbu a (nke ahụ bụ ahịrị ntinye 1, 2, 3… ya mere, agbanwela aha agbanwe agbanwe)NF
: ọnụ ọgụgụ nke ubi n'ahịrị ntinye ugbu a (a agbanwela aha agbanwe agbanwe)OFS
: ngalaba mmepụta ihe nkesaFS
: ihe nkesa ubi ntinyeORS
: ihe nkesa ndekọ mmepụtaRS
: ntinye ndekọ ihe nkesa
Ka anyị gaa n'ihu ịkọwa iji ụfọdụ mgbanwe Awk arụnyere n'elu:
Iji gụọ aha faịlụ nke faịlụ ndenye ugbu a, ị nwere ike iji FILENAME
agbanwere n'ime ya dị ka ndị a:
$ awk ' { print FILENAME } ' ~/domains.txt
Ị ga-achọpụta na, a na-ebipụta aha faịlụ maka ahịrị ntinye ọ bụla, nke ahụ bụ omume ndabara nke Awk mgbe ị na-eji FILENAME
arụnyere n'ime agbanwe.
Iji NR
gụọ ọnụọgụ nke ahịrị (ndekọ) na faịlụ ntinye, cheta na ọ na-agụkwa ahịrị efu, dịka anyị ga-ahụ n'ihe atụ dị n'okpuru.
Mgbe anyị na-elele ngalaba faịlụ.txt site na iji iwu cat, ọ nwere ahịrị 14 nwere ederede yana ahịrị 2 efu:
$ cat ~/domains.txt
$ awk ' END { print "Number of records in file is: ", NR } ' ~/domains.txt
Iji gụọ ọnụ ọgụgụ nke ubi na ndekọ ma ọ bụ ahịrị, anyị na-eji NR arụnyere n'ime mgbanwe dị ka ndị a:
$ cat ~/names.txt
$ awk '{ print "Record:",NR,"has",NF,"fields" ; }' ~/names.txt
Na-esote, ị nwekwara ike ezipụta ihe nkesa ubi ntinye site na iji FS
arụnyere n'ime, ọ na-akọwa otú Awk si ekewa ahịrị ntinye n'ime ubi.
Uru ndabara maka FS
bụ oghere na taabụ, mana anyị nwere ike ịgbanwe uru nke FS
ka ọ bụrụ agwa ọ bụla ga-agwa Awk ka ọ kesaa ahịrị ntinye n'otu aka ahụ.
Enwere ụzọ abụọ iji mee nke a:
- otu ụzọ bụ iji FS arụnyere n'ime mgbanwe
- na nke abụọ bụ ịkpọku nhọrọ -F Awk
Tụlee faịlụ /etc/passwd na sistemụ Linux, a na-ekewa mpaghara dị na faịlụ a site na iji :
agwa, yabụ anyị nwere ike ịkọwa ya dị ka onye na-ekesa ubi ntinye ọhụrụ mgbe anyị chọrọ nyocha ụfọdụ mpaghara. dị ka n'ihe atụ ndị a:
Anyị nwere ike iji -F
nhọrọ dị ka ndị a:
$ awk -F':' '{ print $1, $4 ;}' /etc/passwd
Nhọrọ, anyị nwekwara ike iji uru nke FS
arụnyere n'ime ya dị ka n'okpuru:
$ awk ' BEGIN { FS=“:” ; } { print $1, $4 ; } ' /etc/passwd
Iji kọwapụta ihe nkesa ubi mmepụta, jiri OFS
arụnyere n'ime agbanwe, ọ na-akọwa ka a ga-esi kewaa mpaghara mmepụta site na iji agwa anyị na-eji dị ka ọmụmaatụ n'okpuru:
$ awk -F':' ' BEGIN { OFS="==>" ;} { print $1, $4 ;}' /etc/passwd
Na Nkebi nke 10 a, anyị enyochala echiche nke iji Awk arụnyere n'ime mgbanwe nke na-abịa na ụkpụrụ akọwapụtara. Mana anyị nwekwara ike ịgbanwe ụkpụrụ ndị a, n'agbanyeghị, a naghị atụ aro ime ya ọ gwụla ma ị maara ihe ị na-eme, yana nghọta zuru oke.
Mgbe nke a gachara, anyị ga-aga n'ihu iji kpuchie otu anyị nwere ike isi jiri mgbanwe shei na arụ ọrụ iwu Awk, yabụ nọrọ na njikọ Tecmint.