I-Awk: Ukufunda i-Shell Scripting Usebenzisa i-awk Terminal Command
Umyalo we- "awk" ku-Free Operating Systems yohlobo lwe-GNU / Linux umyalo onamandla kakhulu, osisiza ukuba sibe nokulawula okukhulu lapho sicubungula idatha kusuka kweminye imiyalo noma imiyalo. Igama elithi AWK lisuselwa kuma-initials ezibongo zabalobi bayo: Alfred Aho, peter Weinberger, noBrian Kzanele.
Lo myalo uhlinzeka ngolimi lokubhala ukucubungula umbhalo esingakwazi ukuwenza: Chaza okuguquguqukayo, sebenzisa izintambo nama-opharetha wezibalo, sebenzisa ukulawulwa kokugeleza nemijikelezo, futhi wenze imibiko efomathiwe. Empeleni, i-Awk ingaphezu komyalo wokucubungula iphethini, kuwulimi lonke lokuhlaziywa kwesemantic.
Isingeniso kumyalo we- "awk"
I-AWK ingenye yezinsiza zokuqala ezithandwa kakhulu zokuphatha (ukuphatha / ukukhipha) idatha ngokukhulisa ukusebenza kwamapayipi we-UNIX. Ulimi olunikezwe yile nsiza njengamanje luyindinganiso cishe kuwo wonke ama-Operating Systems wesimanje we-UNIX, kangangoba luyingxenye yemininingwane eyisisekelo ye-UNIX, ngakho-ke imvamisa selivele lifakwe kokuningi kokuzenzakalelayo.
I-syntax yayo ejwayelekile kakhulu yile: amafayela we-awk 'program' nokuthi 'program' kungaba kuphi: pattern {action} pattern {action}. Umyalo ufunda okokufaka kwefayela umugqa owodwa ngasikhathi. Umugqa ngamunye uqhathaniswa nephethini ngayinye ngokulandelana; Kwiphethini ngayinye efana nomugqa, kwenziwa isenzo esihambisanayo.
Isibonelo esilula njenge:
awk -F: '$1=="root" {print}' /etc/passwd
icela inkambu yokuqala uma iyimpande yomugqa ngamunye ku / etc / passwd bese iyiphrinta icubungula i - ":" nge -F: njengesahlukanisi senkambu.
Izibonelo ezingokoqobo
Uhlu lwemiyalo esetshenziswe kakhulu
Buka uhlu olususelwa kumlando wesistimu yesistimu e-odiwe kusuka kokuvame ukusetshenziswa kakhulu kuya kokuncane.
history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
Isibonelo:

Igrafu (Ithebula) nenombolo yokuxhumeka komsingathi ngamunye
Dala igrafu esekwe embhalweni ye-ASCII ekhombisa inani eliphelele lokuxhuma kusuka kumsingathi kukheli ngalinye le-IP.
netstat -an | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | awk '{ printf("%s\t%s\t",$2,$1) ; for (i = 0; i < $1; i++) {printf("*")}; print "" }'
Isibonelo:

Uhlu lwezikhombisi ngosayizi
Phrinta esikrinini uhlu lwemikhondo yendlela yamanje kusuka kokukhulu kuya kokuncane kakhulu okukhombisa amalebula ahambelana nosayizi wawo usebenzisa izinhlamvu: g, m, no k.
du --max-depth=1 | sort -r -n | awk '{split("k m g",v); s=1; while($1>1024){$1/=1024; s++} print int($1)" "v[s]"\t"$2}'
Isibonelo:

Khombisa ithrafikhi kusuka kusixhumi esibonakalayo senethiwekhi
Buka ukusetshenziswa kwedatha engenayo nephumayo ku-inthanethi kuma-kilobytes (kb) esibonakalayo esibekiwe senethiwekhi.
while [ /bin/true ]; do OLD=$NEW; NEW=`cat /proc/net/dev | grep eth0 | tr -s ' ' | cut -d' ' -f "3 11"`; echo $NEW $OLD | awk '{printf("\rin: % 9.2g\t\tout: % 9.2g", ($1-$3)/1024, ($2-$4)/1024)}'; sleep 1; done
Isibonelo:

Thola uchungechunge lwezinombolo ze-fibonacci
Dala uhlu lwezinombolo ze-X ezilandela iphethini ye-fibonacci enikezwe izinombolo eziyisisekelo ezi-2 ezizokwakhiwa.
seq 50| awk 'BEGIN {a=1; b=1} {print a; c=a+b; a=b; b=c}'
Isibonelo:

Uhlu lwezithombe zesakhiwo sefayela ngosayizi
Thola Uhlu lwawo wonke amafolda asempandeni yohlelo lokusebenza kanye nemidwebo (imigoqo) nokumelwa kwamanani njengephesenti losayizi wawo ngaphakathi kwawo.
t=$(df|awk 'NR!=1{sum+=$2}END{print sum}');sudo du / --max-depth=1|sed '$d'|sort -rn -k1 | awk -v t=$t 'OFMT="%d" {M=64; for (a=0;a<$1;a++){if (a>c){c=a}}br=a/c;b=M*br;for(x=0;x<b;x++){printf "\033[1;31m" "|" "\033[0m"}print " "$2" "(a/t*100)"% total"}'
Isibonelo:

Bhala uhlu olufingqiwe lwezinhlobo zamafayela ku-Directory
Khombisa uhlu lwezinhlobo zamafayela aqukethwe enkombeni kanye nenombolo yamafayela ehambisanayo.
find . -type f | awk -F'.' '{print $NF}' | sort| uniq -c | sort -g
Isibonelo:

Lezi zibonelo zemigqa yomyalo zisebenzisa umyalo we-awk ngiyethemba uzithola zilusizo kakhulu. Futhi zingasetshenziswa ukuthi zisetshenziswe ngqo kusuka kukhonsoli noma ngokungaqondile ngokuzifaka kuskripthi (umsebenzi ozenzakalelayo).
Kokuthunyelwe okulandelayo kuShell Scripting sizohlola eminye imiyalo.
Uma ufuna ukufunda okwengeziwe ngomyalo we- "grep" vakashela lesi sixhumanisi "U-DEBIAN Wiki”Futhi uma ufuna ukufunda kabanzi ngeShell Scripting ku-Blog yethu uqobo, ungabheka ezinye izincwadi zethu ezikhuluma ngale ndaba, ngokuchofoza lapha: Ukubhala ku-FromLinux
