سٹریم ایڈیٹر (SED): بنیادی باتیں

S Rym Ay Y R Sed Bnyady Baty



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

'S' کمانڈ

SED یا سٹریم ایڈیٹر میں تمام کمانڈز میں سب سے اہم 's' کمانڈ ہے۔ 's' کا مطلب متبادل ہے۔ نحو درج ذیل ہے:







کی / regexp / متبادل / جھنڈے


تو آئیے مثالوں کے لیے 'file.txt' نامی فائل استعمال کریں۔ یہ ہے 'file.txt' کیسا نظر آتا ہے اگر آپ اسے بلی کرتے ہیں:




آئیے یہ دکھانے کے لیے ایک مثال استعمال کریں کہ 's' کمانڈ کیسے کام کرتی ہے:



لیکن کی / پہلا / چاند / i' file.txt > moon.txt


جب ایسا اظہار کیا جائے تو اس کا مطلب ہے:





    • s - اس کا مطلب متبادل ہے۔
    • پہلا - فائل میں تلاش کرنے کا لفظ جسے 'file.txt' کہتے ہیں۔
    • چاند - لفظ 'پہلا' لفظ 'چاند' سے بدل گیا ہے۔
    • i - اس کا مطلب نظر انداز کرنا ہے۔ ہم اس حصے کو پہلے ہی نظر انداز کر دیں گے۔
    • file.txt - وہ فائل جہاں SED پیٹرن یا لفظ کو تلاش کرنے جا رہا ہے۔ اس صورت میں، لفظ 'پہلا' ہوگا:
    • file.txt میں تلاش کیا۔

    • moon.txt - جب لفظ 'پہلا' لفظ 'چاند' سے بدل دیا جائے گا، تو اسے 'moon.txt' کے تحت محفوظ کیا جائے گا۔

تو، یہاں کیا ہو رہا ہے؟ SED صرف پہلی مثال میں 'چاند' کے لیے لفظ 'پہلا' کی جگہ لے لیتا ہے (اس کا مطلب یہ ہے کہ اگر لفظ 'پہلا' متعدد بار آتا ہے، تو یہ اسے پوری جگہ تبدیل نہیں کرے گا یا اسے متعدد بار تبدیل نہیں کرے گا)۔ یہ جس فائل کو تلاش کرتا ہے اسے 'file.txt' کہا جاتا ہے اور ایک بار تبدیلی یا تبدیلی کے بعد، یہ 'moon.txt' کے تحت محفوظ ہو جائے گی۔



یہ ایسا لگتا ہے:


براہ کرم '/' ڈالنا یاد رکھیں جہاں اسے ہونے کی ضرورت ہے۔ اگر آپ '/' کو چھوڑ دیتے ہیں، تو SED کمانڈ قبول نہیں کرے گا۔

اب تک، ہم نے صرف لفظ 'first' کو 'Encountered' کے ساتھ تبدیل کیا ہے۔ اب، فرض کریں کہ ہم تیسری سطر میں لفظ 'لائن' (جو کئی بار ہوتا ہے - چار بار مخصوص ہوتا ہے) کو لفظ 'فرشتہ' سے بدلنا چاہتے ہیں۔

ہم خاص طور پر اس تیسری لائن کو کس طرح نشانہ بناتے ہیں؟ ہم مندرجہ ذیل کمانڈ استعمال کرتے ہیں:

لیکن '3s / لائن / فرشتہ / i' file.txt > angel.txt


تو، یہاں کیا ہوا؟ ٹھیک ہے، '3' لائن نمبر کی وضاحت کرتا ہے۔ لہذا، یہ تیسری لائن پر جاتا ہے. پھر، 'file.txt' نامی فائل میں 'فرشتہ' کے لیے لفظ 'لائن' کو تبدیل کریں اور تبدیل شدہ فائل کو 'angel.txt' کے طور پر محفوظ کریں۔


اگر ہم '3' اور '4' لائنوں کو تبدیل یا تبدیل کرنا چاہتے ہیں تو کیا ہوگا؟

لیکن ' 3 ,4s / لائن / فرشتہ / i' file.txt > angel2.txt



نوٹ کریں کہ پچھلی مثال میں، ہم نے نظر انداز کرنے کے لیے 'i' جھنڈا استعمال کیا تھا۔ اب، ہم گلوبل کے لیے 'g' جھنڈا استعمال کرتے ہیں۔

آئیے یہ دکھانے کے لیے ایک مثال استعمال کریں کہ 's' کمانڈ کیسے کام کرتی ہے:

لیکن کی / لائن / سورج / g' file.txt > sun.txt


جب ایسا اظہار کیا جاتا ہے، تو اس کا مطلب ہے:

'g' کا مطلب عالمی ہے۔ یاد رکھیں کہ پہلی مثال میں، جب ہم 'i' جھنڈا استعمال کرتے ہیں، تو صرف ایک متبادل ہوتا ہے۔ اب جب کہ ہم نے گلوبل کے لیے ایک 'g' شامل کیا ہے، اس کا مطلب ہر جگہ متبادل ہے۔ لہذا، پہلی سطر، دوسری سطر، تیسری سطر، اور آخری سطر کہنے کے بجائے، یہ پہلا سورج، دوسرا سورج، تیسرا سورج، اور آخری سورج کہتا ہے۔ یہ پوری فائل (ہر جگہ) میں لفظ 'سورج' کے لفظ سے بدل دیتا ہے۔


اب، اگر ہم کسی ایک لفظ کی بنیاد پر اس میں موجود ایک لائن کو منتخب کرنا چاہتے ہیں تو کیا ہوگا؟ ٹھیک ہے، ہم دیکھ سکتے ہیں کہ 'file.txt' کی آخری لائن میں لفظ 'آخری' ہے۔ اب، فرض کریں کہ ہم چاہتے ہیں کہ 'یہ آخری لائن ہے۔ یہ آخری جملہ ہے۔‘‘ بننے کا جملہ 'یہ آخری بھوت ہے۔ یہ آخری جملہ ہے۔‘‘

ہم درج ذیل لکھتے ہیں:

لیکن ' / آخری / s / لائن / بھوت / file.txt > ghost.txt


یہاں 'آخری' SED کو اس لائن کو تلاش کرنے کو کہتا ہے جس میں لفظ 'آخری' ہے اور پھر اس لائن کے اندر لفظ 'لائن' کو 'بھوت' سے بدل دیں۔


اب، فرض کریں کہ ہم اس کے برعکس کرنا چاہتے ہیں۔ فرض کریں کہ ہم چاہتے ہیں کہ لفظ 'آخری' کے بغیر ہر سطر کا لفظ 'لائن' بدل کر 'بھوت' ہو۔ آئیے درج ذیل لکھتے ہیں:

لیکن ' / آخری /! s / لائن / بھوت / file.txt > ghost2.txt


جیسا کہ آپ یہاں دیکھ سکتے ہیں، آخری کے علاوہ ہر سطر (جس میں لفظ 'آخری' ہوتا ہے) لفظ 'لائن' کو لفظ 'بھوت' سے بدل دیا گیا ہے۔


ہم یہ لائن نمبر کے ساتھ بھی کر سکتے ہیں:

لیکن ' 3 , 4 ! s / لائن / رات / i' file.txt > night.txt


اس معاملے میں، لائن 3 اور 4 کو چھوڑ دیا گیا ہے لیکن ہر دوسری لائن میں لفظ 'لائن' کی جگہ لفظ 'رات' ہے۔

متعدد کمانڈز

اب، اگر آپ کے پاس متعدد کمانڈز ہوں تو کیا ہوگا؟ کیا آپ اسے ایک وقت میں ایک یا ایک ساتھ کریں گے اور اپنے آپ کو کچھ وقت اور کام بچائیں گے؟

اگر ہم لفظ 'پہلے' کو 'دن'، 'دوسرے' کو 'رات' اور 'باقی' کو 'بھوت' میں تبدیل کرنا چاہتے ہیں تو کیا ہوگا؟ ہم ایسا کرنے کے لیے سیمی کالون کا استعمال کرتے ہیں۔ نیم آنت کو آخر میں لگانا نہ بھولیں!

براہ کرم نوٹ کریں کہ آپ کو 'i' جھنڈا یا 'نظر انداز' جھنڈا لگانے کی ضرورت نہیں ہے لیکن آپ کو تبدیلی کے جملے کے بعد بالکل سلیش (/) ڈالنا ہوگا۔

اب، آئیے اسے ایک مثال کے ساتھ چیک کریں:

لیکن کی / پہلا / دن / ; s / دوسرا / رات / ; s / تیسرے / بھوت / ; s / آخری / بھوت / ;' file.txt > combination.txt


نتیجہ

اسٹریم ایڈیٹر یا SED ایک لفظ یا پیٹرن کو منتخب کرنے اور اسے تبدیل کرنے کا ایک طریقہ ہے۔ یہ دراصل ونڈو کے 'فائنڈ' اور 'ریپلیس' فنکشنز کے مساوی کمانڈ لائن ہے۔ SED کمانڈ واقعی پیچیدہ ہو سکتی ہے لیکن اگر آپ کم از کم بنیادی باتیں جانتے ہیں، تو آپ اسے لینے کے لیے تیار ہیں! SED اصل میں بہت سے افعال کے ساتھ ایک بہت طاقتور ٹول ہے۔ اگرچہ ہم ایک سبق میں ان سب کا احاطہ نہیں کر سکتے، ہم نے SED کی بنیادی باتوں کا احاطہ کیا۔ جوہر میں، ہم نے سیکھا کہ کس طرح ایک مخصوص لفظ کو 's' کمانڈ کا استعمال کرتے ہوئے تبدیل کرنا ہے جہاں 's' کا مطلب متبادل ہے۔ ہم الفاظ کو دوسرے الفاظ کے لیے بدل سکتے ہیں، منتخب طور پر ایک سطر کا انتخاب کر سکتے ہیں جہاں متبادل آئے گا، یا اس کی نفی بھی کر سکتے ہیں۔ کسی بھی طرح سے، یہ SED کے بارے میں سب سے آسان حصہ ہے۔

مبارک ہو کوڈنگ!