Bash میں awk کمانڈ کا استعمال کیسے کریں۔

Bash My Awk Kman Ka Ast Mal Kys Kry



کمانڈ لائن ماحول میں کام کرتے وقت، فائلوں، ڈائریکٹریز، اور دیگر ڈیٹا کو مؤثر طریقے سے منظم کرنے کے لیے دستیاب مختلف کمانڈز کی مضبوط تفہیم کا ہونا ضروری ہے۔ ایسی ہی ایک کمانڈ 'awk' کمانڈ ہے۔ awk ایک طاقتور افادیت ہے جو یونکس/لینکس ماحول میں ٹیکسٹ فائلوں کو پروسیس کرنے اور ان کو جوڑنے کے لیے استعمال ہوتی ہے۔ یہ مضمون بتائے گا کہ 'awk' کمانڈ کیا ہے اور اسے مؤثر طریقے سے استعمال کرنے کے طریقے۔

'awk' کمانڈ کیا ہے؟

'awk' کمانڈ یونکس/لینکس ماحول میں ٹیکسٹ فائلوں کو جوڑ توڑ اور پروسیس کرنے کا ایک طاقتور ٹول ہے۔ اس کا استعمال پیٹرن میچنگ، فلٹرنگ، چھانٹنا، اور ڈیٹا میں ہیرا پھیری جیسے کاموں کو انجام دینے کے لیے کیا جا سکتا ہے۔ awk بنیادی طور پر ڈیٹا کو منظم انداز میں پروسیس کرنے اور جوڑ توڑ کے لیے استعمال کیا جاتا ہے۔







awk کمانڈ کا استعمال کیسے کریں۔

awk ایک کمانڈ لائن ٹول ہے جسے مختلف طریقوں سے استعمال کیا جا سکتا ہے۔ اسے کمانڈ لائن سے براہ راست طلب کیا جا سکتا ہے، یا اسے شیل اسکرپٹ کے ساتھ مل کر استعمال کیا جا سکتا ہے۔ awk استعمال کرنے کے طریقے کی کچھ مثالیں یہ ہیں:



مثال 1: فائل میں لائنوں کی تعداد گننا

فائل میں لائنوں کی تعداد گننے کے لیے، آپ درج ذیل awk نحو استعمال کر سکتے ہیں:



awk 'END{print NR}' < file-name.txt >


یہاں، 'NR' ایک بلٹ ان متغیر ہے جس میں awk کے ذریعے پروسیس کیے گئے ریکارڈز (لائنز) کی تعداد ہوتی ہے۔ 'END' کلیدی لفظ awk سے کہتا ہے کہ فائل میں موجود تمام لائنوں پر کارروائی کے بعد اس کمانڈ پر عمل کرے۔ یہاں میں نے مثال کے مقاصد کے لیے ایک فائل ٹیکسٹ فائل بنائی ہے اور پھر شیل اسکرپٹ میں مندرجہ بالا نحو کو استعمال کیا ہے جو یہ ہے:





#!/bin/bash
awk 'END{print NR}' testfile.txt


میں نے جو ٹیکسٹ فائل بنائی ہے اس میں دو لائنیں ہیں اور جب awk کمانڈ استعمال کی جاتی ہے تو آؤٹ پٹ 2 ظاہر ہوتا ہے، آپ نیچے دی گئی تصویر میں میں نے بنائی ہوئی ٹیکسٹ فائل دیکھ سکتے ہیں۔



مثال 2: ڈیٹا کو فلٹر کرنا

awk کو مخصوص معیار کی بنیاد پر ڈیٹا فلٹر کرنے کے لیے استعمال کیا جا سکتا ہے اور یہاں وہ نحو ہے جسے اس مقصد کے لیے استعمال کرنا چاہیے:

awk '!//' < file-name.txt >


مثال کے طور پر، آپ نیچے دی گئی کمانڈ کو کسی فائل میں موجود تمام لائنوں کو فلٹر کرنے کے لیے استعمال کر سکتے ہیں جس میں لفظ 'ہیلو' ہو۔

#!بن/بش
awk '!/ہیلو/' testfile.txt


اس مثال میں، '!' علامت ریگولر ایکسپریشن کی تلاش کی نفی کرتی ہے، لہٰذا وہ تمام سطریں پرنٹ کی جائیں گی جن میں لفظ 'Hello' شامل نہیں ہے۔ میں نے وہی ٹیکسٹ فائل استعمال کی ہے جیسا کہ پچھلی مثال میں ہے تو یہاں اوپر دی گئی اسکرپٹ کا آؤٹ پٹ ہے:

مثال 3: مخصوص فیلڈز نکالنا

awk کو فائل سے مخصوص فیلڈز نکالنے کے لیے بھی استعمال کیا جا سکتا ہے۔ مثال کے طور پر، اگر آپ کے پاس ایک فائل ہے جس میں ناموں اور پتوں کی فہرست ہے، اور آپ صرف نام نکالنا چاہتے ہیں، تو آپ درج ذیل کمانڈ کا استعمال کر سکتے ہیں:

awk '{print $}' < file-name.txt >


یہاں مثال کے لیے، میں نے اسی ٹیکسٹ فائل کی پہلی فیلڈ پرنٹ کی ہے اور '$1' فائل کی ہر لائن میں پہلی فیلڈ کی نمائندگی کرتا ہے۔ 'پرنٹ' کمانڈ awk کو صرف اسی فیلڈ کو پرنٹ کرنے کو کہتی ہے۔

#!/bin/bash
awk '{print $1}' testfile.txt


ٹیکسٹ فائل میں پہلی لائن کی پہلی انٹری 'This' ہے اور دوسری لائن کی پہلی انٹری 'Hello' ہے تو یہاں دیئے گئے کوڈ کا آؤٹ پٹ ہے:

نتیجہ

awk کمانڈ ایک طاقتور ٹول ہے جو ٹیکسٹ فائلوں کو جوڑ توڑ اور پروسیس کرنے کے لیے استعمال ہوتا ہے۔ یہ آپ کو ٹیکسٹ فائلوں پر مختلف آپریشن کرنے کی اجازت دیتا ہے، جیسے مخصوص کالم پرنٹ کرنا، پیٹرن تلاش کرنا، اور رقم کا حساب لگانا۔ awk کی بنیادی باتوں میں مہارت حاصل کر کے، آپ اپنے ورک فلو کو ہموار کر سکتے ہیں اور زیادہ موثر اور موثر لینکس یا یونکس صارف بن سکتے ہیں۔