p option in SED

  • Print the current pattern space.
  • فرمان p مخفف عبارت print به معنی چاپ کردن می‌باشد.
  • از این فرمان برای چاپ موارد یافت شده و تطابق داده شده با اسکریپت یا دست نوشته، استفاده می‌شود.
  • شاید توضیحات کمی گیج کننده باشد. اجازه دهید فهم و تسلط به این بخش را در قالب مثال دنبال کنیم.

مثال اول

  • پرونده زیر را در نظر بگیرید :
line1 linux
line2 Linux
line3 LinuxLinux
line4
  • چاپ خط یا خطوطی که در آن عبارت Linux وجود داشته باشد :
$ sed -n '/Linux/p' input.txt
line2 Linux
line3 LinuxLinux

مثال دوم

  • پرونده زیر را در نظر بگیرید :
line1 debian
line2      
line3 linux     
line4 Gnu-Linux
line5 debian Linux
  • چاپ خط دوم تا خطی که در آن عبارت Linux وجود دارد :
$ sed -n '2,/Linux/p' input.txt
line2
line3 linux
line4 Gnu-Linux

مثال سوم

  • پرونده زیر را در نظر بگیرید :
line1 ubuntu
line2 gnu software
line3 debian    
line4 linux
line5 centos linux
  • چاپ خطوطی که در آن عبارت gnu و linux وجود دارد و همچنین چاپ خطوط بین این دو عبارت :
$ sed -n '/gnu/,/linux/p' input.txt
line2 gnu software
line3 debian
line4 linux

مثال چهارم

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

مثال پنجم

  • پرونده زیر را در نظر بگیرید :
line1 ubuntu
line2 gnu software
line3 debian linux linux
line4 linux
  • تغییر کلیه کلمات linux با کارکتر # در خط ۲ تا آخرین خط.
  • چاپ تنها خطوطی که دست‌خوش تغییرات شدند :
$ sed -n '2,$ s/linux/#/pg' input.txt
line3 debian # #
line4 #

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

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

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