بش: لائن پڑھتے ہوئے۔

Bash While Read Line



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

پڑھنے کی لائن کا بنیادی نحو۔

جب لوپ کا استعمال کرتے ہوئے فائل کو پڑھنے کے لیے bash shell کے لیے درج ذیل نحو استعمال کیا جاتا ہے:







جبکہ پڑھیں لائن؛
کیا
باہر پھینک دیا '$ لائن'؛
ہو گیا <ان پٹ فائل۔

مذکورہ بالا نحو میں '-r' آپشن کو کمانڈ پڑھنے کے لیے منظور کیا گیا جو بیک سلیش سے بچنے سے بچ جاتا ہے۔ 'ان پٹ_ فائل' آپشن نے آپ کی فائل کے نام کی نمائندگی کی ہے جسے آپ 'ریڈ' کمانڈ استعمال کرکے حاصل کرنا چاہتے ہیں۔



داخلی فیلڈ جداکار کو مختصرا IFS کے طور پر استعمال کیا جا سکتا ہے اس سے پہلے کہ ریڈ کمانڈ کو کالعدم سٹرنگ پر سیٹ کیا جائے جو وائٹ اسپیس کو تراشنے سے روکتا ہے۔



جبکہ آئی ایف ایس=پڑھیں لائن؛
کیا
باہر پھینک دیا $ لائن؛
ہو گیا <ان پٹ فائل۔

Ctrl + Alt + t شارٹ کٹ کا استعمال کرتے ہوئے ٹرمینل کھولیں اور پھر اس پر درج ذیل کمانڈز چلائیں۔





مثال # 1: فائل پڑھنے کی لائن لائن۔

آئیے ایک مثال لیتے ہیں جس میں فرض کریں کہ ہمارے پاس OS.txt نامی فائل ہے جس میں لینکس کی تمام اہم تقسیم کے نام ہیں۔ اگر آپ 'cat' کمانڈ استعمال کیے بغیر فائل پڑھنا چاہتے ہیں تو ، اس مقصد کے لیے آپ مخصوص کام انجام دینے کے لیے درج ذیل کمانڈ پر عمل کر سکتے ہیں۔ ہم جبکہ لوپ استعمال کریں گے جو فائل OS.txt سے ہر لائن کو پڑھیں گے اور ہر مرحلے میں مواد کو متغیر $ لائن میں محفوظ کریں گے جسے آپ بعد میں دکھا سکتے ہیں۔

OS.txt میں لینکس ڈسٹری بیوشن کے درج ذیل نام پیسٹ کریں۔



سینٹوس۔
اوبنٹو۔
ڈیبین۔
LinuxMint $۔جبکہ پڑھیںلائن؛
کیا
باہر پھینک دیا $ لائن؛
ہو گیا <OS.txt


مذکورہ کمانڈ سے ، آپ کو ٹرمینل ونڈو پر درج ذیل جواب ملے گا:

مثال # 2: باز اسکرپٹ کا استعمال کرتے ہوئے فائل پڑھنا۔

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

#!/bin/bash
فائل کا نام='OS.txt'
n=
جبکہ پڑھیںلائن؛
کیا
# ہر سطر پڑھنے کے لیے۔
باہر پھینک دیا OS تقسیم لائن نمبر$ n:$ لائن'
n= $۔((n+))
ہو گیا < $ filename

OSinfo.sh نام کے ساتھ فائل کو محفوظ کریں اور مندرجہ بالا bash اسکرپٹ کو چلانے کے لیے ٹرمینل پر درج ذیل کمانڈ ٹائپ کریں۔

$لشکرOSinfo.sh

اب ، فائل کا اصل مواد دیکھنے کے لیے کیٹ کمانڈ چلائیں۔

$کیٹOS.txt

فائل پڑھنے کا متبادل طریقہ

کمانڈ سے فائل کا نام پاس کرنا۔

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

#!/bin/bash
فائل کا نام=$ 1
جبکہ پڑھیںلائن؛کیا
# ہر سطر پڑھنا
باہر پھینک دیا $ لائن
ہو گیا < $ فائل.TXT

مذکورہ اسکرپٹ کو 'Readline.sh' کے نام سے محفوظ کریں اور مذکورہ اسکرپٹ کو چلانے کے لیے ٹرمینل پر درج ذیل کمانڈ پر عمل کریں:

مذکورہ آؤٹ پٹ میں ، آپ دیکھیں گے کہ فائل 'OSinfo.txt' ایک دلیل کے طور پر گزر رہی ہے اور 'OSinfo.txt' کا مواد اضافی جگہیں ہٹانے کے بعد ظاہر ہوگا۔ آپ 'cat OSinfo.txt' چلا کر اصل فائل کا مواد دکھا سکتے ہیں۔

نتیجہ

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