ایک فائل میں ہر لائن کے لیے باش۔

Bash Each Line File



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

نوٹ: ذیل میں دکھائے گئے طریقوں کو اوبنٹو 20.04 پر دکھایا گیا ہے۔ تاہم ، وہ کسی دوسرے لینکس کی تقسیم کے ساتھ بھی اچھی طرح کام کریں گے۔







باش میں فائل میں ہر لائن کے استعمال کے طریقے:

ان طریقوں میں ، ہم آپ کو ایک مثال دکھائیں گے جس میں آپ فائل سے ہر لائن کو پڑھ سکتے ہیں ، اور پھر آپ اسے ٹرمینل پر ڈسپلے کر سکتے ہیں یا آپ ان لائنوں کو دوسری فائل میں بھی محفوظ کر سکتے ہیں۔ آئیے ان دونوں طریقوں پر ایک نظر ڈالیں۔



طریقہ نمبر 1: ٹرمینل پر پڑھی لکیروں کو ظاہر کرنے کے لیے:

ٹرمینل پر فائل کی ہر لائن کو فائل میں دکھانے کے لیے ، آپ کو درج ذیل اقدامات کرنے ہوں گے:



مرحلہ # 1: ڈمی ٹیکسٹ فائل بنانا:

سب سے پہلے ، آپ کو مظاہرے کی خاطر کچھ بے ترتیب ڈیٹا کے ساتھ ایک ٹیکسٹ فائل بنانی ہوگی۔ اگرچہ ، یہ ٹیکسٹ فائل کہیں بھی بنائی جا سکتی ہے ، تاہم ، یہ انتہائی سفارش کی جاتی ہے کہ آپ اسے ہوم فولڈر میں بنائیں۔ ایسا کرنے کے لیے ، نیچے دکھائی گئی تصویر میں نمایاں کردہ فائل مینیجر آئیکن پر کلک کریں:





  • ڈمی ٹیکسٹ فائل بنانا

    اب اپنے ہوم فولڈر میں کہیں بھی دائیں کلک کریں اور ظاہر ہونے والے مینو سے نیا دستاویز کا آپشن منتخب کریں۔ پھر خالی دستاویز کا آپشن منتخب کریں۔ ایک بار جب آپ کے ہوم فولڈر میں ایک خالی دستاویز بن جائے ، تو اس کے لیے اپنی پسند کا نام فراہم کریں اور اس کے بعد .txt توسیع کریں۔ اس مثال میں ، ہم نے اسے ForEachLine.txt کا نام دیا ہے۔

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



  • ایک ڈمی ٹیکسٹ فائل بنانا 3۔

    مرحلہ نمبر 2: باش سکرپٹ بنانا:

    اب ایک باش فائل اسی طرح بنائیں جیسے آپ نے ہوم فولڈر میں ٹیکسٹ فائل بنائی ہے سوائے اس بار ، آپ کو اس کا نام فراہم کرنا ہوگا اس کے بعد .txt ایکسٹینشن کے بجائے .sh ایکسٹینشن۔ ہم نے اپنی باش فائل کا نام ForEachLine.sh رکھا ہے لیکن آپ اسے اپنی پسند کا کوئی بھی نام دے سکتے ہیں۔
    باش سکرپٹ بنانا۔

    اس فائل کو ڈبل کلک کرکے کھولیں اور پھر اپنی نئی بنائی گئی باش فائل میں نیچے دی گئی تصویر میں دکھایا گیا اسکرپٹ ٹائپ کریں۔ یہاں ، پہلی سطر یہ بتانے کے لیے ہے کہ درج ذیل اسکرپٹ باش سکرپٹ ہے۔ ہم نے فائل کے نام سے صرف ایک متغیر بنایا ہے اور اسے اپنی ٹیکسٹ فائل کا نام اس کی قیمت یعنی ForEachLine.txt کے طور پر تفویض کیا ہے۔ پھر ہم نے لائنز کے نام سے ایک متغیر بنایا ہے اور اسے $ (cat $ File) کے برابر کیا ہے۔ یہاں ، کیٹ کمانڈ ہماری ٹیکسٹ فائل کے مندرجات کو پڑھتی ہے اور جب اس سے پہلے $ علامت ہوتی ہے ، تو اس کمانڈ کے ذریعے پڑھے گئے مواد کو لائنز متغیر میں محفوظ کیا جائے گا۔ اس طرح ، ForEachLine.txt نامی فائل کی تمام لائنیں لائنز متغیر میں محفوظ ہوجائیں گی۔ پھر ہم نے For لوپ کا اطلاق کیا ہے جس میں ایک تکرار لائن ہے۔ یہ تکرار کرنے والا لائنز متغیر پر کام کرتا ہے جو ہم نے اوپر بنایا ہے اور یہ ایک ایک کرکے تمام لائنوں کے ذریعے تکرار کرے گا۔ پھر ڈوڈڈ بلاک میں ، ہم نے ان تمام لائنوں کو ٹرمینل پر صرف ایکو کمانڈ کا استعمال کرکے دکھایا ہے۔
    باش اسکرپٹ 2 بنانا۔

    مرحلہ # 3: باش سکرپٹ کو چلانا:

    اب اوبنٹو 20.04 میں ٹرمینل لانچ کریں اور پھر اس میں درج ذیل کمانڈ کو چلائیں تاکہ اوپر بنائے گئے باش اسکرپٹ کو چلایا جا سکے۔
    bash ForEachLine.sh
    باش اسکرپٹ چل رہا ہے۔

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

    طریقہ نمبر 2: تمام پڑھی لکیروں کو دوسری فائل میں محفوظ کرنے کے لیے:

    اس طریقہ کار میں ، ہم نے اوپر کے طریقہ کار میں بنائے گئے باش سکرپٹ میں تھوڑی ترمیم کی ہے تاکہ تمام پڑھنے والی لائنوں کو ٹرمینل پر ڈسپلے کرنے کے بجائے ایک نئی ٹیکسٹ فائل میں محفوظ کیا جا سکے۔ ایسا کرنے کے لیے ، درج ذیل اقدامات پر عمل کریں:

    مرحلہ # 1: اوپر تیار کردہ باش اسکرپٹ میں ترمیم کرنا اور اسے چلانا:

    باش اسکرپٹ کھولیں جو آپ نے اوپر کے طریقہ کار میں بنایا ہے اور اسے تبدیل کریں جیسا کہ مندرجہ ذیل تصویر میں دکھایا گیا ہے۔ ہم نے ڈوڈڈ بلاک میں ایکو کمانڈ کے بعد فائل کا نیا نام شامل کیا ہے۔ یہ ترمیم تمام پڑھنے والی لائنوں کو ٹرمینل پر ڈسپلے کرنے کے بجائے ایک نئی ٹیکسٹ فائل میں محفوظ کر لے گی۔ اب بش کمانڈ کے ساتھ ٹرمینل کے ذریعے باش اسکرپٹ کو دوبارہ چلائیں جس کے بعد باش فائل کا نام ہے۔ اس بار جب باش اسکرپٹ چلے گا ، یہ ایک نئی ٹیکسٹ فائل بنائے گا جس کا نام اس معاملے میں NewFile.txt ہے۔
    باش سکرپٹ میں ترمیم کرنا اوپر بنایا گیا اور اسے چلانا 1۔

    مرحلہ # 2: نئی بنائی گئی ٹیکسٹ فائل تک رسائی:

    اس بات کی تصدیق کرنے کے لیے کہ کیا تمام پڑھی گئی لائنیں نئی ​​ٹیکسٹ فائل میں محفوظ ہو گئی ہیں ، آپ اپنے ٹرمینل میں درج ذیل کمانڈ کو چلا کر اس فائل کے مندرجات کو دیکھ سکتے ہیں۔
    بلی NewFile.txt
    نئی بنائی گئی ٹیکسٹ فائل تک رسائی۔
    نیچے دی گئی تصویر میں دکھایا گیا آؤٹ پٹ آپ کو یقین دلائے گا کہ تمام پڑھی گئی لائنیں نئی ​​ٹیکسٹ فائل میں کاپی کر دی گئی ہیں۔
    نئی تخلیق شدہ ٹیکسٹ فائل 2 تک رسائی۔

    نتیجہ:

    اس طرح ، آپ فائل کی ہر لائن کو فائل کی تمام لائنوں کو پڑھنے اور پھر ان لائنوں کے ساتھ جوڑ توڑ کے لیے استعمال کر سکتے ہیں۔ ہم نے اس مضمون میں صرف دو بنیادی منظرناموں کے بارے میں بات کی ہے ، تاہم ، آپ اس پیچ کو مزید پیچیدہ مسائل کے لیے بھی استعمال کر سکتے ہیں۔