g option in SED

  • فرمان g مخفف کلمه Global به معنی کل یا در بر گرفتن همه می‌باشد.
  • زمانی که از فرمان g در داخل قسمت دست نوشته استفاده می‌شود، تاکید می‌شود تا تغییرات بر روی
  • تمامی الگوهای یافت شده اعمال شود.
  • شاید توضیحات کمی گیج کننده باشد. اجازه دهید فهم و تسلط به این بخش را در قالب مثال دنبال کنیم.

مثال 1

  • پرونده زیر را در نظر بگیرید :
line1 linux
line2 linux linux
line3 linux linux linux
line4 linux linux linux linux
  • جایگزینی عبارت linux با عبارت Gnu-Linux :
$ sed 's/linux/Gnu-Linux/g' input.txt
line1 Gnu-Linux
line2 Gnu-Linux Gnu-Linux
line3 Gnu-Linux Gnu-Linux Gnu-Linux
line4 Gnu-Linux Gnu-Linux Gnu-Linux Gnu-Linux
  • دستور بالا باعث می‌شود تا تمام عبارات linux در هر خط با عبارت Gnu-Linux جایگزین شود.
  • در صورتی که از فرمان g استفاده نشود، به صورت پیش‌فرض تنها اولین عبارت linux یافت شده در هر خط، با Gnu-linux جایگزین می‌شود.
$ sed 's/linux/Gnu-Linux/' input.txt
line1 Gnu-Linux
line2 Gnu-Linux linux
line3 Gnu-Linux linux linux
line4 Gnu-Linux linux linux linux

مثال 2

  • پرونده زیر را در نظر بگیرید :
line1 #    
line2            
line3 ##               
line4 # linux #
  • جایگزینی عبارت linux با # در هر خط :
$ sed 's/linux/#/g' input.txt
line1 #
line2
line3 ##
line4 # # #

مثال 3

  • پرونده زیر را در نظر بگیرید :
line1 linux
line2 linux linux
line3 linux linux linux
line4 linux linux linux linux
  • تغییر تمام linux های موجود در خط سوم با کارکتر # :
$ sed '3 s/Linux/#/g' input.txt
line1 linux
line2 Linux
line3 ##
line4

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

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

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