میچ کے بعد 'سیڈ' کا استعمال کرتے ہوئے لائن کیسے داخل کی جائے؟

How Insert Line After Match Using Sed



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

سٹرنگ یا لائن میں میچ ڈھونڈنے کے بعد لائن کیسے داخل کی جائے اس ٹیوٹوریل میں دکھایا گیا ہے۔







سٹرنگ میں ایک لائن داخل کریں۔

کسی بھی سٹرنگ ویلیو کے بعد سیڈ کمانڈ کا استعمال کرتے ہوئے ایک نئی لائن ڈالی جا سکتی ہے اگر کمانڈ میں بیان کردہ پیٹرن سٹرنگ ویلیو کے کسی بھی حصے سے مماثل ہو۔



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



مثال 1: میچ ڈھونڈنے کے بعد سٹرنگ میں ایک لائن ڈالیں۔

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





یہاں ، & کردار سٹرنگ کے بعد لائن داخل کرنے کے لیے استعمال ہوتا ہے۔

$باہر پھینک دیا مجھے پروگرامنگ پسند ہے۔ | sed s / inng / & کیا آپ کو پروگرامنگ پسند ہے؟ / '

درج ذیل آؤٹ پٹ سے پتہ چلتا ہے کہ inng سٹرنگ میں موجود نہیں ہے اور سٹرنگ کے بعد کوئی لائن نہیں ڈالی گئی ہے۔




مندرجہ ذیل کمانڈ تلاش کرے گا۔ سٹرنگ میں ، مجھے پروگرامنگ پسند ہے اور یہ سٹرنگ میں موجود ہے۔

$باہر پھینک دیا مجھے پروگرامنگ پسند ہے۔ | sed s/ing ./& کیا آپ کو پروگرامنگ پسند ہے؟/'

مندرجہ ذیل آؤٹ پٹ سے پتہ چلتا ہے کہ تار کے بعد نئی لائن شامل کی گئی ہے۔

فائل میں ایک لائن داخل کریں۔

نیچے دی گئی فائل میں میچ ملنے کے بعد لائن داخل کرنے کے دو طریقے ہیں۔ جب sed کمانڈ کو -i آپشن کے بغیر استعمال کیا جاتا ہے ، تب فائل کا مواد بغیر کسی تبدیلی کے رہے گا ، اور آؤٹ پٹ داخل کردہ نئی لائن کے ساتھ فائل کا مواد دکھائے گا۔ اگر فائل میں میچنگ پیٹرن موجود ہو تو فائل میں مستقل طور پر نئی لائن داخل کرنے کے لیے آپ کو sed کمانڈ کے ساتھ -i آپشن استعمال کرنا ہوگا۔

A. sed کمانڈ میں استعمال کرنا۔

اے کو سیڈ کے سرچ پیٹرن میں استعمال کیا جا سکتا ہے تاکہ لائن کے بعد ایک یا زیادہ لائنیں جوڑیں جہاں سرچ پیٹرن میچ ہو یا کسی خاص لائن نمبر کے بعد۔

B. sed کمانڈ میں i کا استعمال کرنا۔

i کا استعمال sed کمانڈ کے سرچ پیٹرن میں اس لائن سے پہلے فائل میں ایک یا زیادہ لائنیں داخل کرنے کے لیے کیا جا سکتا ہے جہاں سرچ پیٹرن مماثل ہو۔

پیٹرن کی بنیاد پر فائل میں لکیریں داخل کریں:

نامی ٹیب ڈیلیمیٹڈ ٹیکسٹ فائل بنائیں۔ products.txt مندرجہ ذیل مواد کے ساتھ sed کمانڈ میں مذکورہ جھنڈے کے استعمال کو دکھانے کے لیے۔

products.txt

شناختی نام

01 وہپ کریم۔

02 کوکو پاؤڈر

03 شوگر۔

04 انڈے

05 آٹا۔

مثال 2: a کا استعمال کرتے ہوئے ایک خاص لائن نمبر کے بعد ایک لائن داخل کریں۔

مندرجہ ذیل احکامات دکھاتے ہیں کہ سیڈ کمانڈ میں استعمال ہونے والے پیٹرن کی بنیاد پر products.txt فائل کی مخصوص لائن نمبر کے بعد نئی لائن کیسے شامل کی جا سکتی ہے۔

یہاں ، پہلی کمانڈ فائل کا موجودہ مواد دکھائے گی۔ sed کمانڈ فائل کی پہلی دو لائنوں کے بعد متن b01 بیکنگ پاؤڈر کو جوڑ دے گی۔ آخری کمانڈ کو چیک کرنے کے لیے استعمال کیا جاتا ہے کہ فائل کا مواد تبدیل ہوا ہے یا نہیں۔

$کیٹproducts.txt

$sed '2 a b01 t بیکنگ پاؤڈر'products.txt

$کیٹproducts.txt

مندرجہ ذیل کمانڈ چلانے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔

مثال 3: a کا استعمال کرتے ہوئے آخری لائن کے بعد ایک لائن داخل کریں۔

مندرجہ ذیل کمانڈ فائل کی آخری لائن کے بعد ایک نئی لائن جوڑنے کا راستہ دکھاتی ہے۔ پہلی اور آخری کمانڈ سیڈ کمانڈ پر عمل کرنے سے پہلے اور بعد میں فائل کا موجودہ مواد دکھاتی ہے۔ $ علامت فائل کی آخری لائن کا ذکر کرنے کے لیے sed کمانڈ کے پیٹرن میں استعمال ہوتی ہے۔

$کیٹproducts.txt

$sed '$ a b01 t بیکنگ پاؤڈر'products.txt

$کیٹproducts.txt

مندرجہ ذیل کمانڈ چلانے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔

مثال 4: a کا استعمال کرتے ہوئے پیٹرن سے مماثل ہونے کے بعد فائل میں کہیں بھی ایک لائن داخل کریں۔

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

$کیٹproducts.txt

$sed '/0s01.*/a b01 t بیکنگ پاؤڈر'products.txt

$کیٹproducts.txt

کمانڈ چلانے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔


مندرجہ ذیل سیڈ کمانڈ پاؤڈر کے ساتھ ختم ہونے والی کسی بھی لائن کو تلاش کرے گی اور اس کے بعد نئی لائن داخل کرے گی۔ فائل کی تیسری لائن پاؤڈر کے ساتھ ختم ہوتی ہے۔ لہذا ، اس لائن کے بعد نئی لائن داخل کی جائے گی۔

$کیٹproducts.txt

$sed '/پاؤڈر $/a b01 t بیکنگ پاؤڈر'products.txt

$کیٹproducts.txt

مندرجہ بالا کمانڈ چلانے کے بعد مندرجہ ذیل آؤٹ پٹ ظاہر ہوگا۔

مثال -5: ایک کا استعمال کرتے ہوئے مماثل پیٹرن کے بعد متعدد لائنیں داخل کریں۔

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

یہاں ، پیٹرن کے مطابق ، تیسری لائن کے بعد دو لائنیں شامل کی جائیں گی۔

$کیٹproducts.txt

$sed '/^[a-c]/a b01 t بیکنگ پاؤڈر nb02 t بیکنگ سوڈا'products.txt

$کیٹproducts.txt

مندرجہ بالا کمانڈ چلانے کے بعد مندرجہ ذیل آؤٹ پٹ ظاہر ہوگا۔

مثال 6: I کا استعمال کرتے ہوئے ایک پیٹرن سے ملنے کے بعد ایک لائن داخل کریں۔

$کیٹproducts.txt

$sed '/کریم/آئی بی 01 ٹی بیکنگ پاؤڈر'products.txt

$کیٹproducts.txt

مندرجہ بالا کمانڈ چلانے کے بعد مندرجہ ذیل آؤٹ پٹ ظاہر ہوگا۔

مثال 7: -i آپشن کا استعمال کرتے ہوئے میچنگ پیٹرن کے بعد مستقل طور پر ایک لائن داخل کریں۔

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

$کیٹproducts.txt

$sed -میں '/e $/a g01 tGhee'products.txt

$کیٹproducts.txt

مندرجہ بالا کمانڈ چلانے کے بعد مندرجہ ذیل آؤٹ پٹ ظاہر ہوگا۔

نتیجہ:

پیٹرن کے ساتھ سیڈ کمانڈ کا استعمال کرتے ہوئے فائل میں دو یا زیادہ لائنیں داخل کرنے کے طریقے اس ٹیوٹوریل میں دکھائے گئے ہیں تاکہ قارئین کو پیٹرن کی بنیاد پر عارضی یا مستقل طور پر لائنیں داخل کرنے کے لیے اس کمانڈ کو لاگو کرنے میں مدد ملے۔