دستور Sed در لینوکس چیست و چه کاربردی دارد؟

دستور Sed در لینوکس
شبکه لینوکس مقالات

دستور Sed در لینوکس چیست و چه کاربردی دارد؟

دستور Sed در لینوکس چیست و چه کاربردی دارد؟

دستور Sed در لینوکس یکی از پر کاربرد ترین و محبوب ترین دستورات می باشد. با استفاده از این دستور می توان حذف، فیلتر و یا جایگزین کردن کلمه یا یک بخشی از متن بپردازیم. اما کاربرد اصلی این دستور زمانی برای ما مشخص می شود که وقتی می خواهیم تعداد زیادی از کلمات یا یک بخشی از متن را تغییر دهیم که تغییر آن به صورت تک به تک زمان زیادی خواهد برد اما با استفاده از دستور Sed در لینوکس می توان به راحتی تمامی تغییرات را انجام دهیم . برای درک بهتر به مثال های زیر توجه کنید . 

فایلی داریم با نام file5.txt که شامل محتویات زیر است:

There is LPIC1 Class

There is LPIC1 Course

حالا می خواهیم با استفاده از دستور Sed در لینوکس کاری کنیم که (LPIC1) به (LPIC2) تبدیل شود .

sed ‘s/LPIC1/LPIC2’ file5.txt

با زدن این دستور فقط خروجی تغییر پیدا می کند و فایل اصلی تغییری پیدا نمی کند . برای اینکه فایل هم تغییر پیدا کند باید یک (i-) اضافه کرد :

sed -i ‘s/LPIC1/LPIC2’ file5.txt

نکته : نحوه کار دستور Sed در لینوکس این گونه است که به طور پیش فرض اولین الگو که باهاش تطابق پیدا کرد آن را تغییر می دهد و به خط بعدی می رود . برای درک بهتر به مثال زیر دقت کنید :

مثال) اگر همین فایل file5.txt را به این صورت تغییر دهیم :

دستور Sed در لینوکس

و مجددا دستور زیر را بزنیم :

sed ‘s/LPIC1/LPIC2’ file5.txt

در خروجی نتیجه زیر را می بینیم :

دستور Sed در لینوکس

برای رفع این مشکل باید یک (g) به دستور اضافه کرد تا همه فایل را تغییر دهد :

sed -i ‘s/LPIC1/LPIC2/g’ file5

حالا برای اینکه بخواهیم کلمه ای را پاک کنیم باید این گونه عمل کنیم . به عنوام مثال می خواهیم کلمه (LPIC2) را حذف کنیم :

sed ‘/LPIC2/d’ file5.txt

دیدگاه خود را اینجا قرار دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فیلدهای نمایش داده شده را انتخاب کنید. دیگران مخفی خواهند شد. برای تنظیم مجدد سفارش ، بکشید و رها کنید.
  • عکس
  • شناسه محصول
  • امتیاز
  • قیمت
  • در انبار
  • موجودی
  • افزودن به سبد خرید
  • توضیحات
  • محتوا
  • عرض
  • اندازه
  • تنظیمات بیشتر
  • نویسنده
  • قسمت
  • زبان
Click outside to hide the comparison bar
مقایسه