وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش جایگزینی چندین خط با استفاده از دستور “sed”.

0 11
زمان لازم برای مطالعه: 4 دقیقه


گاهی اوقات لازم است چندین خط از یک فایل را با هر کاراکتر یا متن خاصی جایگزین کنید. دستورات مختلفی در لینوکس برای جایگزینی چندین خط از یک فایل وجود دارد. دستور `sed` یکی از آنها برای انجام این نوع کارها است. شکل کامل «sed» ویرایشگر Steam است و عمدتاً برای خواندن و تبدیل متن به روش‌های مختلف با استفاده از یک عبارت منظم استفاده می‌شود. روش استفاده از این دستور برای جایگزینی چندین خط یک فایل به روش های مختلف در این آموزش توضیح داده شده است.

برگه تقلب «sed» که معمولاً استفاده می شود:

پرکاربردترین کاراکترهای استفاده شده در دستور sed در جدول زیر توضیح داده شده است.

شخصیت هدف
آ برای افزودن محتوا استفاده می شود.
ب برای شاخه‌بندی محتوا استفاده می‌شود.
ج برای تغییر محتوا استفاده می شود.
د برای حذف یک خط از یک فایل استفاده می شود.
D برای حذف خط اول یک فایل استفاده می شود.
g قبلاً از متن نگهدارنده کپی می شد.
جی برای اضافه کردن از متن نگهدارنده استفاده می شود.
ساعت برای کپی کردن در متن نگهدارنده استفاده می شود.
اچ برای الحاق به متن نگهدارنده استفاده می شود.
من برای درج استفاده می شود.
من عادت دارد print خط جایگزین
n برای رفتن به خط بعدی استفاده می شود.
ن برای الحاق خط ورودی بعدی استفاده می شود.
پ عادت دارد print.
پ عادت دارد print خط اول
q برای ترک استفاده می شود.
س برای ترک فوری استفاده می شود.
r برای خواندن فایل استفاده می شود.
آر برای خواندن خط از فایل استفاده می شود.
س برای جایگزینی استفاده می شود.
تی برای تست جایگزینی استفاده می شود.
تی برای تست عدم جایگزینی استفاده می شود.
w برای نوشتن روی فایل استفاده می شود.
دبلیو برای نوشتن یک خط در فایل استفاده می شود.
ایکس عادت دارد swap الگوها و نگه داشتن
y برای ترجمه استفاده می شود.
z برای پاک کردن خط استفاده می شود.
‘=’ عادت دارد print شماره خط
پیشنهاد می‌کنیم بخوانید:  Bash چگونه یک فرمان را در یک متغیر اجرا کنیم؟

با استفاده از دستور «sed» از چند خط جایگزین کنید terminal:

چگونه می‌توان از دستور sed برای جایگزینی چندین خط از یک فایل استفاده کرد terminal در این قسمت از این آموزش نشان داده شده است. یک فایل به نام ایجاد کنید sed.txt با مطالب زیر دستورات این قسمت را تست کنید.

sed.txt

فرم کامل sed “ویرایشگر جریان” است.

این یک ابزار یونیکس است که برای خواندن و تبدیل متن در فرمت های مختلف استفاده می شود.

توسط Lee E. McMahon توسعه داده شد.

برای پردازش متن استفاده می شود.

از عبارات منظم پشتیبانی می کند.

مثال-1: دو خط متوالی را جایگزین کنید

دستور sed زیر دو خط متوالی را با یک خط دیگر جایگزین می کند. در اینجا، گزینه -z برای جایگزینی خطوط متوالی با داده های پوچ قبل از افزودن متن جایگزین استفاده می شود. طبق دستور، 3rd و 4هفتم خطوط فایل با متن جایگزین می شود، “این یک ابزار بسیار مفید است”.

$ گربه sed.txt
$ sed -z ‘s/این توسط Lee E. McMahon توسعه داده شده است.\nبرای متن استفاده می شود
پردازش./این یک ابزار بسیار مفید است./’
sed.txt

پس از اجرای دستورات خروجی زیر ظاهر می شود.

روش جایگزینی چندین خط با استفاده از دستور "sed".

مثال-2: چندین خط را جایگزین کنید روی مسابقه و پرچم جهانی

دستور sed زیر جایگزین تمام خطوطی می شود که با کلمه شروع می شوند. ‘آی تی’ با کلمه “این خط جایگزین شده است ‘.

$ گربه sed.txt
$ sed ‘s/^It.*/این خط جایگزین شد/g’ sed.txt

پس از اجرای دستورات خروجی زیر ظاهر می شود. سه خط حاوی کلمه “آی تی‘ در فایل بنابراین، این خطوط با متن جایگزین جایگزین شده است.

روش جایگزینی چندین خط با استفاده از دستور "sed".روش جایگزینی چندین خط با استفاده از دستور "sed".

مثال-3: چندین خط را جایگزین کنید روی دستور match و next line

دستور “sed” زیر جایگزین کلمه می شود.است“با کلمه”بودبا دستور خط بعدی، ‘n’.

$ گربه sed.txt
$ sed ” {n;/is/ {s/is/was/}}” sed.txt

پس از اجرای دستورات خروجی زیر ظاهر می شود. اینجا، ‘است’ در 2 وجود داردnd و 4هفتم خطوط فایل، و این خطوط با کلمه اصلاح می شوند ‘بود’.

پیشنهاد می‌کنیم بخوانید:  آیا دستور TRY CATCH در Bash وجود دارد؟

روش جایگزینی چندین خط با استفاده از دستور "sed".روش جایگزینی چندین خط با استفاده از دستور "sed".

با ایجاد فایل اسکریپت «sed» چندین خط را جایگزین کنید:

در مثال های قبلی، دستورات `sed` از روی اجرا شده است terminal. اما این یک زبان اسکریپت است و اگر اسکریپت حاوی چندین دستور است، بهتر است یک فایل sed با اسکریپت ایجاد کنید. یک فایل متنی با نام ایجاد کنید student.txt با محتوای زیر که اسکریپت «sed» در آن اعمال خواهد شد.

student.txt

شناسه: 111045
نام: رابرت
بخش: CSE
دسته: 35

شناسه: 111876
نام: یوسف
بخش: BBA
دسته: 27

شناسه: 111346
نام: ویلیام
بخش: CSE
دسته: 45

شناسه: 111654
نام: چارلز
بخش: EEE
دسته: 41

شناسه: 111346
نام: جان
بخش: CSE
دسته: 25

شناسه: 111746
نام: توماس
بخش: CSE
دسته: 15

مثال-4: چندین خط یک فایل را با استفاده از فایل اسکریپت sed جایگزین کنید

یک فایل sed با نام to ایجاد کنید جایگزین.sed با محتوای زیر برای جایگزینی خطوط متعدد بر اساس روی الگوی جستجو اینجا کلمه “CSE‘ در فایل متنی جستجو می شود و در صورت وجود مطابقت، مجدداً عدد 35 و 15 را جستجو می کند. اگر مطابقت دوم در فایل وجود داشته باشد، عدد 45 جایگزین آن می شود.

جایگزین.sed

/CSE/ {

p;n;
/35/ {

س/35/45/;
p;d;
}

/15/ {

س/15/55/;
p;d;
}
}

پ؛

دستور زیر را برای بررسی محتوای موجود فایل اجرا کنید. ‘CSE’ چهار بار در فایل متنی ظاهر شد. 35 و 15 در دو مکان وجود دارد.

$ گربه student.txt

روش جایگزینی چندین خط با استفاده از دستور "sed".روش جایگزینی چندین خط با استفاده از دستور "sed".

دستور زیر جایگزین محتوای چند خط مبتنی بر خواهد شد روی فیلمنامه sed

$ sed -n جایگزین.sed students.txt

پس از اجرای دستور خروجی زیر ظاهر می شود.

روش جایگزینی چندین خط با استفاده از دستور "sed".روش جایگزینی چندین خط با استفاده از دستور "sed".

نتیجه

روش های مختلفی برای جایگزینی چند خط یا محتوای چندین خط با استفاده از دستور sed در این آموزش نشان داده شده است. روش اجرای اسکریپت `sed` از یک فایل sed نیز در این آموزش نشان داده شده است. امیدوارم این آموزش به خواننده کمک کند تا با استفاده از دستور «sed» چندین خط از هر فایلی را جایگزین کند.

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-31 07:25:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید