- 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