صفحه نخست

پنجاه مثال تک خطی sed - بخش چهارم

در تمام مثال‌های این بخش محتوای فایل data.txt به شرح زیر خواهد بود:

Bash
$ cat data.txt
This is line number: #1
This is line number: #2
This is line number: #3
This is line number: #4
This is line number: #5
This is line number: #6
This is line number: #7
This is line number: #8
This is line number: #9
This is line number: #10
This is line number: #11
This is line number: #12
This is line number: #13

در صورتی که نیاز به توضیح مطلبی باشد در پایین همان مثال آن را بیان خواهیم کرد.

مثال 1) ۵ خط اول را نمایش دهید.

Bash
$ sed -n '1,5 p' data.txt
This is line number: #1
This is line number: #2
This is line number: #3
This is line number: #4
This is line number: #5

مثال 2) ۵ خط آخر را نمایش دهید.

Bash
$ sed ':a N; 1,5 ba; D' data.txt
This is line number: #9
This is line number: #10
This is line number: #11
This is line number: #12
This is line number: #13

مثال 3) خط یکی مانده به آخر را نمایش دهید.

Bash
$ sed '$ {1 d;g;q}; h;d' data.txt
This is line number: #12

مثال 4) خط آخر را نمایش دهید.

Bash
$ sed '$ !d' data.txt
This is line number: #13

مثال 5) ۲ خط آخر یک فایل را نمایش دهید.

Bash
$ sed '$ {1 q;x;p;x;q}; h;d' data.txt
This is line number: #12
This is line number: #13

مثال 6) خط‌های فایل را از انتها به ابتدا بنویسید. (مشابه دستور tac)

Bash
$ sed '1 !G;h;$!d' data.txt
This is line number: #13
This is line number: #12
This is line number: #11
This is line number: #10
This is line number: #9
This is line number: #8
This is line number: #7
This is line number: #6
This is line number: #5
This is line number: #4
This is line number: #3
This is line number: #2
This is line number: #1

مثال 7) خط قبلی حاوی عبارت 10 را نمایش دهید.

Bash
$ sed '/10/ {g;1 !p};h;d' data.txt
This is line number: #9

مثال 8) خط بعدی حاوی عبارت 10 را نمایش دهید.

Bash
$ sed -n '/10/ {n;p}' data.txt
This is line number: #11

مثال 9) خط حاوی عبارت 10 و خط قبلی و خط بعدی آن را نمایش دهید. (مشابه دستور grep -A1 -B1)

Bash
$ sed -n '/10/ {x;1!p;g;$!N;p;D;}; h' data.txt
This is line number: #9
This is line number: #10
This is line number: #11

مثال 10) کلیه خطوطی که دقیقا ۲۴ کاراکتر می‌باشند را نمایش دهید.

Bash
$ sed '/^.\{24\}$/ !d' data.txt
This is line number: #10
This is line number: #11
This is line number: #12
This is line number: #13

نظر شما



 
 
 

 

کلیه حقوق برای دارنده‌ی سایت محفوظ است.