Koyi Yadda Ake Amfani da Wutar Lantarki na Awk - Kashi na 10


Yayin da muke buɗe ɓangaren fasali na Awk, a cikin wannan ɓangaren jerin, za mu yi tafiya cikin ra'ayin ginannen masu canji a cikin Awk. Akwai nau'i biyu na masu canji da za ku iya amfani da su a cikin Awk, waɗannan su ne; ma'anar masu amfani, waɗanda muka rufe a cikin Sashe na 8 da ginanniyar masu canji.

Ƙididdigan da aka gina a ciki suna da ƙima da aka riga aka ayyana a cikin Awk, amma kuma za mu iya canza waɗannan dabi'u a hankali, abubuwan da aka gina a ciki sun haɗa da:

  1. FILENAME : Sunan fayil ɗin shigarwa na yanzu (kada ku canza suna mai canzawa)
  2. FR : lambar layin shigarwa na yanzu (wato layin shigarwa 1, 2, 3… haka, kar a canza suna mai canzawa)
  3. NF : adadin filayen cikin layin shigarwa na yanzu (kada ku canza suna mai canzawa)
  4. OFS : Mai raba filin fitarwa
  5. FS : mai raba filin shigarwa
  6. ORS : Mai raba rikodin fitarwa
  7. RS : shigar da mai raba rikodi

Bari mu ci gaba da kwatanta amfani da wasu abubuwan da aka gina Awk a sama:

Don karanta sunan fayil na fayil ɗin shigarwa na yanzu, zaku iya amfani da madaidaicin ginin FILENAME kamar haka:

$ awk ' { print FILENAME } ' ~/domains.txt 

Za ku gane cewa, ana buga sunan fayil ɗin don kowane layi na shigarwa, wannan shine tsohuwar halayen Awk lokacin da kuke amfani da FILENAME ginannen canji.

Yin amfani da NR don ƙidaya adadin layi (rikodi) a cikin fayil ɗin shigarwa, tuna cewa, yana kuma ƙidaya layin da babu komai, kamar yadda zamu gani a misalin da ke ƙasa.

Lokacin da muka duba fayil domains.txt ta amfani da umarnin cat, yana ƙunshe da layi 14 tare da rubutu da layukan wofi 2:

$ cat ~/domains.txt
$ awk ' END { print "Number of records in file is: ", NR } ' ~/domains.txt 

Don ƙidaya adadin filayen cikin rikodin ko layi, muna amfani da madaidaicin ginanniyar NR kamar haka:

$ cat ~/names.txt
$ awk '{ print "Record:",NR,"has",NF,"fields" ; }' ~/names.txt

Bayan haka, zaku iya tantance mai raba filin shigarwa ta amfani da FS ginannen ma'anar, yana bayyana yadda Awk ke raba layin shigarwa zuwa filayen.

Ƙimar da aka saba don FS sarari ce da shafi, amma za mu iya canza ƙimar FS zuwa kowane hali da zai umurci Awk don raba layin shigarwa daidai.

Akwai hanyoyi guda biyu don yin haka:

  1. Hanya ɗaya ita ce a yi amfani da madaidaicin ginanniyar FS
  2. kuma na biyu shine kiran zaɓin -F Awk

Yi la'akari da fayil/sauransu/passwd akan tsarin Linux, an raba filayen da ke cikin wannan fayil ta amfani da : hali, don haka zamu iya saka shi a matsayin sabon mai raba filin shigarwa lokacin da muke son tace wasu filayen. kamar yadda a cikin misalai masu zuwa:

Za mu iya amfani da zaɓin -F kamar haka:

$ awk -F':' '{ print $1, $4 ;}' /etc/passwd

Optionally, za mu iya amfani da amfani da FS ginannen maɓalli kamar ƙasa:

$ awk ' BEGIN {  FS=“:” ; }  { print $1, $4  ; } ' /etc/passwd

Don tantance mai raba filin fitarwa, yi amfani da OFS ginannen canji, yana bayyana yadda za'a raba filayen fitarwa ta amfani da halin da muke amfani da shi kamar a misalin da ke ƙasa:

$ awk -F':' ' BEGIN { OFS="==>" ;} { print $1, $4 ;}' /etc/passwd

A cikin wannan Sashe na 10, mun bincika ra'ayin yin amfani da ginanniyar abubuwan da aka gina Awk waɗanda suka zo tare da ƙayyadaddun ƙima. Amma kuma muna iya canza waɗannan dabi'u, kodayake, ba a ba da shawarar yin hakan ba sai dai idan kun san abin da kuke yi, tare da isasshen fahimta.

Bayan wannan, za mu ci gaba don rufe yadda za mu iya amfani da masu canjin harsashi a cikin ayyukan umarni na Awk, saboda haka, ci gaba da haɗawa da Tecmint.