ڪاوش: شيل اسڪرپٽ سکڻ وارا ايڪي ٽرمينل ڪمانڊ استعمال ڪندي

ڪاوش: شيل اسڪرپٽ سکڻ وارا ايڪي ٽرمينل ڪمانڊ استعمال ڪندي

ڪاوش: شيل اسڪرپٽ سکڻ وارا ايڪي ٽرمينل ڪمانڊ استعمال ڪندي

GNU / لينڪس قسم جو مفت آپريٽنگ سسٽم ۾ “awk” ڪمانڊ هڪ انتهائي طاقتور ڪمانڊ آهي ، جيڪو اسان کي ٻين ڪنٽرولن يا ڪمانڊ ڪمانڊ تان ڊيٽا پروسيسنگ ڪرڻ دوران گهڻي ڪنٽرول ڪرڻ ۾ مدد ڏيندو آهي. نالو AWK هن جي مصنفن جا نالا جي شروعات مان نڪتل آهن: الفرڊ Aھا ، پيٽر Wايِنبرگر ، ۽ برين Kيرغان.

هي حڪم متن واري پروسيسنگ جي لاءِ رسم الخط ٻولي فراهم ڪندو آهي جنهن سان اسان ڪري سگهون ٿا: متغيرات کي بيان ڪريو ، اسٽرنگس ۽ رياضياتي آپريٽر استعمال ڪريو ، فلو ڪنٽرول ۽ سائيڪل استعمال ڪريو ، ۽ فارموليڊ رپورٽون ٺاهي اصل ۾ ، Awk صرف هڪ نمونن جي پروسيسنگ ڪمان کان وڌيڪ آهي ، اها هڪ مڪمل لفظي تجزياتي ٻولي آهي.

”awk“ حڪم جو تعارف

AWK يو اين ايڪس پائپ لائنز جي ڪارڪردگي کي وڌائڻ سان ڊيٽا کي منظم ڪرڻ (هٿ ڪرڻ / ڪ extractڻ) کي منظم ڪرڻ جي پهرين مشهور ڪنسول افاديت مان هڪ هئي. هن افاديت مان مهيا ڪيل ٻولي هن وقت تقريباً تمام جديد يونيڪس قسم واري آپريٽنگ سسٽم ۾ هڪ معيار آهي ، ايتري قدر جو اهو بنيادي UNIX وضاحت جو حصو آهي ، تنهن ڪري اهو عام طور تي اڪثر انهن ۾ پهريان کان ئي ڊيفالٽ طور تي انسٽال ٿيل آهي.

هن جي عام عام لئه بندي آهي: اچڪ 'پروگرام' فائلون ۽ ڪٿي 'پروگرام' ٿي سگهي ٿو: نمونو {عمل} نمونو {عمل}. حڪم هڪ وقت ۾ فائل انپٽ کي هڪ لائن پڙهائي ٿو. هر قطار ترتيب سان هر نمونو جي مقابلي ۾ آهي. هر هڪ نموني لاءِ جيڪو قطار سان ملي ٿو ، ساڳئي ئي عمل ڪيو ويندو آهي.

هڪ سادي مثال وانگر:

awk -F: '$1=="root" {print}' /etc/passwd

اهو پهريون ميدان لاءِ پڇي ٿو جيڪڏهن اهو / etc / passwd ۾ هر لڪير جو روٽ آهي ۽ ان کي پرنٽ ڪندي ":" سان -F: فيلڊ ڌارر طور.

تعارفي مثال آچر

عملي مثال

وڌيڪ استعمال ٿيل ڪمانڊ لسٽ

نظام ٽرمينل جي تاريخ تي ٻڌل هڪ فهرست ڏسو جيڪا اڪثر گهٽين کان گهٽ استعمال ٿيل ترتيب ڏنل آهي.

history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head

مثال طور

مثال 1: عوام جو حڪم

گراف (ٽيبل) هر ميزبان جي رابطن سان

ASCII متن تي ٻڌل گراف ٺاهيو جيڪو هر 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 "" }'

مثال طور

مثال 2: عوام جو حڪم

فهرستن جي حساب سان ڊائريڪٽريءَ جي لسٽ

اسڪرين تي پرنٽ ڪريو موجوده رستي جي ڊاريڪٽري جي نن theن نن fromن کان نن toن وڏين تائين نن showingن ليبلن کي انهن جي سائز سان لاڳاپيل اکر اکر استعمال ڪندي: ج ، م ، ۽ ڪ.

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}'

مثال طور

مثال 3: عوام جو حڪم

نيٽ ورڪ انٽرفيس مان ٽرئفڪ ڏيکاريو

مخصوص نيٽ ورڪ انٽرفيس لاءِ ڪلو بائيٽ (ڪلو) ۾ آن لائن ۽ آئوٽبائونڊ ڊيٽا استعمال ڪريو ڏسو.

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

مثال طور

هڪ فبونڪي نمبر سيريز حاصل ڪريو

ايڪس بيبي نمبرن جي هڪ فهرست ٺاهيو فبنيڪي نموني جي ڏنل 2 بنيادي نمبرن جي تعمير جو.

seq 50| awk 'BEGIN {a=1; b=1} {print a; c=a+b; a=b; b=c}'

مثال طور

مثال 5: عوام جو حڪم

شڪل جي لحاظ کان فائل جي جوڙجڪ جي گرافڪ لسٽ

گرافڪس (بار) ۽ عددي نمائندگي سان ان جي سائز جو هڪ سيڪڙو انهي سان گڏ آپريٽنگ سسٽم جي روٽ ۾ سڀني فولڊر جي فهرست حاصل ڪريو.

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"}'

مثال طور

مثال 6: عوام جو حڪم

ھڪڙي ڊاريڪٽري ۾ فائل جي قسمن جو خلاصو لسٽ ڪريو

ڊاريڪٽري ۾ موجود فائلن جي قسمن جي فهرست ڏيکاريو فائلن جو تعداد ان سان ملندڙ آهي.

find . -type f | awk -F'.' '{print $NF}' | sort| uniq -c | sort -g

مثال طور

مثال 8: عوام جو حڪم

ايڪي ڪمانڊ استعمال ڪندي ڪمانڊ لائينز جا مثال ، آئون اميد ٿو ڪريان ته توهان کي اهو تمام مفيد ملندو. ۽ اهي ڪم سڌي طرح ڪنسول يا سڌي طرح سان استعمال ڪرڻ جي لاءِ استعمال ڪن ٿا هڪ اسڪرپٽ ۾ (داخل ٿيل ڪم)

شيل اسڪرپٽ تي ايندڙ پوسٽ ۾ اسين ٻين حڪمن جي جاچ ڪنداسين.

جيڪڏهن توهان “گرپ” ڪمان بابت هن لنڪ تي وڌيڪ toاڻڻ سکو ٿا.ڊيبين وڪي”۽ جيڪڏهن توهان اسان جي بلاگ ۾ شيل اسڪرپٽ بابت وڌيڪ toاڻڻ چاهيندا، توهان موضوع تي اسان جي ٻين اشاعتن تي هڪ نظر وجهو ، هتي ڪلڪ ڪري سگهو ٿا: FromLinux ۾ اسڪرپٽ


مضمون جو مواد اسان جي اصولن تي عمل ڪري ٿو ايڊيٽوريل اخلاقيات. غلطي ڪلڪ ڪرڻ جي رپورٽ لاءِ هتي.

هڪ رايو ، توهان ڇڏيو

پنهنجي راءِ ڏيو

پنهنجي اي ميل ايڊريس شايع نه ڪيو ويندو. گهري شعبن سان لڳل آهن *

*

*

  1. ڊيٽا جو ذميوار: Miguel Ángel Gatón
  2. ڊيٽا جو مقصد: ڪنٽرول سپيم ، تبصرو جي انتظام.
  3. سازش: توهان جي رضامندي
  4. ڊيٽا جي ابلاغ: ڊيٽا کي قانوني ذميواري کانسواءِ ٽئين پارٽين تائين رسائي نه ڏني ويندي.
  5. ڊيٽا اسٽوريج: ڊيٽابيس اويسينٽس نيٽورڪ (اي يو) پاران ميزباني ڪيل
  6. حق: ڪنهن به وقت توهان پنهنجي معلومات کي محدود ، ٻيهر ۽ ختم ڪري سگهو ٿا.

  1.   ٽاڪسوٽو چيو

    مون صرف پهرين مثال سمجهي ، ٻيو ڪجهه به ناهي 🙁