- Print the current pattern space.
- فرمان p مخفف عبارت print به معنی چاپ کردن میباشد.
- از این فرمان برای چاپ موارد یافت شده و تطابق داده شده با اسکریپت یا دست نوشته، استفاده میشود.
- شاید توضیحات کمی گیج کننده باشد. اجازه دهید فهم و تسلط به این بخش را در قالب مثال دنبال کنیم.
مثال اول
- پرونده زیر را در نظر بگیرید :
|
1 2 3 4 |
line1 linux line2 Linux line3 LinuxLinux line4 |
- چاپ خط یا خطوطی که در آن عبارت Linux وجود داشته باشد :
|
1 2 3 |
$ sed -n '/Linux/p' input.txt line2 Linux line3 LinuxLinux |
مثال دوم
- پرونده زیر را در نظر بگیرید :
|
1 2 3 4 5 |
line1 debian line2 line3 linux line4 Gnu-Linux line5 debian Linux |
- چاپ خط دوم تا خطی که در آن عبارت Linux وجود دارد :
|
1 2 3 4 |
$ sed -n '2,/Linux/p' input.txt line2 line3 linux line4 Gnu-Linux |
مثال سوم
- پرونده زیر را در نظر بگیرید :
|
1 2 3 4 5 |
line1 ubuntu line2 gnu software line3 debian line4 linux line5 centos linux |
- چاپ خطوطی که در آن عبارت gnu و linux وجود دارد و همچنین چاپ خطوط بین این دو عبارت :
|
1 2 3 4 |
$ sed -n '/gnu/,/linux/p' input.txt line2 gnu software line3 debian line4 linux |
مثال چهارم
- پرونده زیر را در نظر بگیرید :
|
1 2 3 4 |
line1 ubuntu line2 gnu software line3 debian debian line4 linux |
- تغییر اولین debian موجود در خط سوم به کارکتر # :
|
1 2 3 4 5 6 |
$ sed '3 s/debian/#/p' input.txt line1 ubuntu line2 gnu software line3 # debian line3 # debian line4 linux |
مثال پنجم
- پرونده زیر را در نظر بگیرید :
|
1 2 3 4 |
line1 ubuntu line2 gnu software line3 debian linux linux line4 linux |
- تغییر کلیه کلمات linux با کارکتر # در خط ۲ تا آخرین خط.
- چاپ تنها خطوطی که دستخوش تغییرات شدند :
|
1 2 3 |
$ sed -n '2,$ s/linux/#/pg' input.txt line3 debian # # line4 # |
- بررسی شده توسط نسخهی 4.7 ابزار SED