i option in SED

  • Insert text, which has each embedded newline preceded by a backslash.
  • فرمان i مخفف کلمه Insert به معنی درج یا نوشتن می‌باشد.
  • زمانی که از فرمان i در داخل قسمت دست نوشته استفاده می‌شود، تاکید می‌شود تا تغییراتی قبل از یافتن الگویی خاص اعمال شود.
  • شاید توضیحات کمی گیج کننده باشد. اجازه دهید فهم و تسلط به این بخش را در قالب مثال دنبال کنیم.

مثال اول

  • پرونده زیر را در نظر بگیرید :
line1
line2
line3
  • اضافه کردن عبارت TEST قبل از خط دوم :
$ sed '2 i\TEST' input.txt 
line1
TEST
line2
line3

مثال دوم

  • پرونده‌ی مثال قبل را در نظر بگیرید.
  • اضافه کردن عبارت TEST قبل از خط یا خطی‌هایی که حاوی عبارت line3 باشند :
$ sed '/line3/ i\TEST' input.txt 
line1
line2
TEST
line3
  • نکته: ممکن است چندین خط حاوی عبارت line3 باشد، لذا عبارت TEST قبل از تمام خطوط آنان اضافه می‌شود.

مثال سوم

  • پرونده‌ی مثال قبل را در نظر بگیرید.
  • اضافه کردن عبارت ——- قبل از تمامی خطوط موجود در فایل :
$ sed '/$/ i\-------' input.txt 
-------
line1
-------
line2
-------
line3

مثال چهارم

  • پرونده‌ی مثال قبل را در نظر بگیرید.
  • اضافه کردن عبارت ——- قبل از آخرین خط موجود در فایل :
$ sed '$ i\-------' input.txt 
line1
line2
-------
line3

مثال پنجم

  • پرونده‌ی زیر را در نظر بگیرید :
line1
line2
line3
line4
  • اضافه کردن کارکتر # قبل از خط ۳ تا آخرین خط موجود در فایل :
$ sed '3,$ i\#' input.txt 
line1
line2
#
line3
#
line4

  • بررسی شده توسط نسخه‌ی 4.7 ابزار SED

دیدگاهتان را بنویسید

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