دستور 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 ‘s/LPIC1/LPIC2’ file5.txt
در خروجی نتیجه زیر را می بینیم :
برای رفع این مشکل باید یک (g) به دستور اضافه کرد تا همه فایل را تغییر دهد :
sed -i ‘s/LPIC1/LPIC2/g’ file5
حالا برای اینکه بخواهیم کلمه ای را پاک کنیم باید این گونه عمل کنیم . به عنوام مثال می خواهیم کلمه (LPIC2) را حذف کنیم :
sed ‘/LPIC2/d’ file5.txt
دسته بندی نوشته ها
جدیدترین نوشته ها
- آغاز فرآیند اخراج کارکنان پس از تصاحب VMware توسط برودکام آبان 9, 1402
- تراشهی Dimensity 9300 قدرتمندترین پردازنده موبایل جهان آبان 9, 1402
- احتمال اضافه شدن هوش مصنوعی کوپایلت به فایرفاکس آبان 9, 1402
- نسخه جدید Tiny11 با ۲۰ درصد کاهش حجم به بازار آمده است. آبان 9, 1402
- یوتیوب پریمیوم گام جدیدی به سوی تفریح گیمرها برمیدارد آبان 9, 1402
دیدگاهتان را بنویسید