- Replace the selected lines with text, which has each embedded newline preceded by a backslash.
- فرمان c مخفف کلمه Change به معنی تغییر میباشد.
- زمانی که از فرمان c در داخل قسمت دست نوشته استفاده میشود، تاکید میشود تا تغییراتی بر روی الگویی خاص یافت و اعمال شود.
- شاید توضیحات کمی گیج کننده باشد. اجازه دهید فهم و تسلط به این بخش را در قالب مثال دنبال کنیم.
مثال اول
- پرونده زیر را در نظر بگیرید :
line1 line2 line3 line4
- پاک کردن خطی مشخص بر اساس شماره خط.
- جایگزینی آن خط با عبارت یا جمله ای مشخص :
$ sed '2 c\This is LINE_2' input.txt line1 This is LINE_2 line3 line4
مثال دوم
- پرونده مثال قبل را در نظر بگیرید.
- پاک کردن خط یا خط هایی که حاوی عبارت line هستند.
- جایگزینی آن خط با عبارت یا جمله ای مشخص :
$ sed '/line/c\This is a line' input.txt This is a line This is a line This is a line This is a line
- همان طور که ملاحظه می کنید، تمام خطوط دستخوش تغییرات شدند چرا که عبارت line در تمام خطوط وجود داشت.
مثال سوم
- پرونده مثال قبل را در نظر بگیرید.
- پاک کردن خط پایانی از فایل ورودی.
- جایگزینی آن با عبارت یا جمله ای مشخص :
$ sed '$ c\Last Line' input.txt line1 line2 line3 Last Line
- همان طور که مشاهده می کنید خط آخر یعنی خط چهارم پاک شد سپس با عبارت Last Line جایگزین شد.
مثال چهارم
- پرونده مثال قبل را در نظر بگیرید.
- پاک کردن از خط دوم تا آخرین خط.
- جایگزینی آن خطوط با تنها عبارت یا جملهای مشخص :
$ sed '2,$ c\$' input.txt line1 $
- نکته: دستور بالا باعث شد تا خطوط دوم، سوم و چهارم پاک شوند و تنها خطی با مضمون $ جایگزین آنان شود.
مثال پنجم
- پرونده مثال قبل را در نظر بگیرید.
- پاک کردن تک تک خطوط فایل.
- جایگزینی عبارت یا جملهای مشخص با تک تک خطوط :
$ sed '/$/ c\linux' input.txt linux linux linux linux
- همان طور که ملاحظه میکنید، تمام خطوط با عبارت linux جایگزین شدند.
- بررسی شده توسط نسخهی 4.7 ابزار SED