sed ایک فائل میں سٹرنگ کو تبدیل کرنے کا کمانڈ۔

Sed Command Replace String File



جب بھی ہم کسی بھی قسم کی فائلوں کے ساتھ کام کر رہے ہوتے ہیں ، لفظوں کو ڈھونڈ کر اور ان کی جگہ لے کر ان فائلوں میں ترمیم کرنا بہت عام بات ہے۔ زیادہ تر ٹیکسٹ ایڈیٹرز ان ترامیم کو انجام دینے کے لیے مختلف GUI پر مبنی طریقے فراہم کرتے ہیں۔ تاہم ، بعض اوقات ، آپ کو ٹرمینل کے ذریعے فائل میں موجود الفاظ کو ڈھونڈنے اور تبدیل کرنے کا ایک طریقہ درکار ہوتا ہے۔ لہذا ، اس آرٹیکل میں ، ہم آپ کو ٹیکسٹ فائل میں سٹرنگ کو تبدیل کرنے کے لیے sed کمانڈ کے استعمال کے طریقے پر چلیں گے۔ ہم ان مختلف منظرناموں پر بھی روشنی ڈالیں گے جن میں یہ کمانڈ استعمال کی جا سکتی ہے۔

نوٹ: ہم فائل میں سٹرنگ کو تبدیل کرنے کے لیے sed کمانڈ کے استعمال کو ظاہر کرنے کے لیے لینکس منٹ 20 استعمال کریں گے۔ اگر آپ چاہیں تو آپ لینکس کا کوئی اور ذائقہ بھی استعمال کر سکتے ہیں۔







سیڈ کمانڈ کا استعمال:

اب ہم آپ کو لینکس میں سیڈ کمانڈ کے استعمال کو ظاہر کرنے کے لیے کچھ انتہائی دلچسپ مثالیں دکھانے جا رہے ہیں۔ آئیے دیکھتے ہیں کہ یہ کمانڈ مختلف منظرناموں میں کیسے کام کرتی ہے۔



مظاہرے کے لیے ٹیکسٹ فائل بنانا:

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



اپنے لینکس منٹ 20 ٹاسک بار پر موجود فائل مینیجر آئیکن پر کلک کریں۔





اب ہوم ڈائرکٹری میں ایک نئی ٹیکسٹ فائل بنائیں جہاں کہیں بھی دائیں کلک کریں اور پھر کیسکیڈنگ مینو سے نیا دستاویز کا آپشن منتخب کریں اور ذیلی کیسکیڈنگ مینو سے خالی دستاویز کا آپشن منتخب کریں۔ ایک بار جب ٹیکسٹ فائل بن جائے تو اسے مناسب نام دیں۔ اس خاص مثال کے لیے ، میں نے اسے sed.txt کا نام دیا ہے۔



اس فائل کو کھولنے کے لیے اس پر ڈبل کلک کریں اور اس میں کوئی بھی بے ترتیب متن ٹائپ کریں جیسا کہ نیچے دی گئی تصویر میں دکھایا گیا ہے۔ اس ٹیکسٹ فائل کو Ctrl +S دباکر محفوظ کریں اور پھر اسے بند کردیں۔

اب لینکس ٹکسال 20 میں ٹرمینل لانچ کریں جیسا کہ مندرجہ ذیل تصویر میں دکھایا گیا ہے۔

لینکس ٹکسال 20 میں ٹرمینل لانچ کرنے کے بعد ، آپ ذیل میں بیان کردہ تمام مثالوں کو ایک ایک کرکے دیکھ سکتے ہیں۔

کسی دیئے گئے لفظ کے تمام واقعات کو تبدیل کرنے کے لیے sed کمانڈ کا استعمال:

آپ ٹیکسٹ فائل میں دیئے گئے لفظ کے تمام واقعات کو تبدیل کرنے کے لیے sed کمانڈ استعمال کر سکتے ہیں۔ اس مقصد کے حصول کی نحو کا ذکر ذیل میں کیا گیا ہے:

$sed's/sed/فائنڈ ورڈ۔/لفظ تبدیل کریں۔/'file.txt

یہاں ، آپ کو FindWord کو اس لفظ سے تبدیل کرنے کی ضرورت ہے جسے آپ تبدیل کرنا چاہتے ہیں اور لفظ کو تبدیل کرنے کے لیے لفظ کو تبدیل کرنا ہے۔ مزید یہ کہ ، آپ کو فائل کے نام کے ساتھ فائل کو تبدیل کرنے کی بھی ضرورت ہے جہاں آپ یہ تبدیلیاں کرنا چاہتے ہیں۔ اس منظر نامے میں ، میں نے FindWord کو sed اور ReplaceWord کو بدل دیا ہے۔ ہماری فائل کا نام sed.txt تھا۔ یہ مندرجہ ذیل تصویر میں بھی دکھایا گیا ہے:

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

ہر لائن میں دیئے گئے لفظ کے نویں واقعے کو تبدیل کرنے کے لیے sed کمانڈ کا استعمال:

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

$sed's/فائنڈ ورڈ۔/لفظ تبدیل کریں۔/num 'file.txt

یہاں ، آپ کو FindWord کو اس لفظ سے تبدیل کرنے کی ضرورت ہے جسے آپ تبدیل کرنا چاہتے ہیں اور لفظ کو تبدیل کرنے کے لیے لفظ کو تبدیل کرنا ہے۔ مزید یہ کہ ، آپ کو فائل کے نام کے ساتھ فائل کو تبدیل کرنے کی بھی ضرورت ہے جہاں آپ یہ تبدیلیاں کرنا چاہتے ہیں۔ اس منظر نامے میں ، میں نے FindWord کی جگہ لے لی ہے اور ReplaceWord کو sed کے ساتھ تبدیل کر دیا ہے۔ ہماری فائل کا نام sed.txt تھا۔ اس کے علاوہ ، نمبر سے مراد لفظ کی موجودگی یا پوزیشن ہے۔ ظاہر کی گئی مثال میں ، میں ہر لائن میں سیڈ کے ساتھ تبدیلی کے پہلے واقعے کو تبدیل کرنا چاہتا ہوں جیسا کہ نیچے دی گئی تصویر میں دکھایا گیا ہے۔

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

ایک مخصوص لائن میں دیے گئے لفظ کو تبدیل کرنے کے لیے sed کمانڈ کا استعمال:

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

$sed'لائننم ایس۔/فائنڈ ورڈ۔/لفظ تبدیل کریں۔/'file.txt

یہاں ، آپ کو FindWord کو اس لفظ سے تبدیل کرنے کی ضرورت ہے جسے آپ تبدیل کرنا چاہتے ہیں اور لفظ کو تبدیل کرنے کے لیے لفظ کو تبدیل کرنا ہے۔ مزید یہ کہ ، آپ کو فائل کے نام کے ساتھ فائل کو تبدیل کرنے کی بھی ضرورت ہے جہاں آپ یہ تبدیلیاں کرنا چاہتے ہیں۔ اس منظر نامے میں ، میں نے FindWord sed اور ReplaceWord کو بدل دیا ہے۔ ہماری فائل کا نام sed.txt تھا۔ نیز ، آپ کو لائننم کو مخصوص لائن کی لائن نمبر سے تبدیل کرنے کی ضرورت ہے جس میں آپ متبادل بنانا چاہتے ہیں۔ اس مثال میں ، ہم اپنی فائل کے لائن نمبر 2 میں سیڈ کو تبدیل کرنا چاہتے تھے جیسا کہ مندرجہ ذیل تصویر میں دکھایا گیا ہے۔

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

نتیجہ:

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