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:

  1. FILENAME : aha faịlụ ntinye ugbu a( agbanwela aha agbanwe agbanwe)
  2. 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)
  3. NF : ọnụ ọgụgụ nke ubi n'ahịrị ntinye ugbu a (a agbanwela aha agbanwe agbanwe)
  4. OFS : ngalaba mmepụta ihe nkesa
  5. FS : ihe nkesa ubi ntinye
  6. ORS : ihe nkesa ndekọ mmepụta
  7. RS : 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:

  1. otu ụzọ bụ iji FS arụnyere n'ime mgbanwe
  2. 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.