جایی برای نوشتن

بایگانی
آخرین نظرات
۱۰بهمن

در این بخش ۱۰ مثال دیگر sed  را مطرح و اجرا می کنیم . از مثال ۱ تا مثال ۵ محتوای فایل data.txt به شرح زیر است:


# cat data.txt
salam salam salam salam salam man mohsen hastam


مثال ۱)  اولین salam را با KHODAHAFEZ جایگزین کنید.


# sed 's/salam/KHODAHAFEZ/' data.txt
KHODAHAFEZ salam salam salam salam man mohsen hastam

مثال ۲)  چهارمین salam را با KHODAHAFEZ جایگزین کنید.

# sed 's/salam/KHODAHAFEZ/4' data.txt
salam salam salam KHODAHAFEZ salam man mohsen hastam

مثال 3)  آخرین salam را با KHODAHAFEZ جایگزین کنید.

# sed 's/\(.*\)salam/\1KHODAHAFEZ/' data.txt
salam salam salam salam KHODAHAFEZ man mohsen hastam

مثال ۴)  salam یکی مانده به آخرین salam را با KHODAHAFEZ جایگزین کنید.

# sed 's/\(.*\)salam\(.*salam.*\)/\1KHODAHAFEZ\2/' data.txt
salam salam salam KHODAHAFEZ salam man mohsen hastam

مثال ۵)  کلیه salam ها را با KHODAHAFEZ جایگزین کنید.

# sed 's/salam/KHODAHAFEZ/g' data.txt
KHODAHAFEZ KHODAHAFEZ KHODAHAFEZ KHODAHAFEZ KHODAHAFEZ man mohsen hastam

از مثال ۶ تا ۱۰  محتوای فایل data.txt  به شرح زیر است :

# 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

مثال ۶)  خط هایی که با \ تمام شده اند را با خط بعدیشان ترکیب کنید و با یک کاراکتر فاصله در یک خط نمایش دهید.

# sed ':a /\\$/ {N;s/\\\n/ /; ta;}' 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

مثال ۷)  خط هایی که با = شروع شده اند را با خط قبلی ترکیب کرده و با یک کاراکتر فاصله در یک خط نمایش دهید.

# sed  ':a N; /\n=/ { s/\n=/ /;ta; }; P;D;' 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

مثال ۸)  بعد از هر ۵ خط یک خط خالی قرار دهید.

# sed 'n;n;n;n;G' 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

دستور n محتوای فعلی pattern space را در خروجی استاندارد می نویسد و سپس خط بعدی را می خواند و داخل pattern space قرار می دهد. این دستور در GNU sed می تواند به صورت زیر نوشته شود:

# sed '0~5 G' 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

مثال ۹)  خط هایی که با = شروع می شوند را نمایش دهید . (دستور grep)

# sed -n '/^=/ p' data.txt
=This is line number: #3 \
=This is line number: #4
=This is line number: #5
=This is line number: #10
=This is line number: #11

مثال ۱۰)  خط هایی که با = شروع نمی شوند را نمایش دهید. (دستور grep -v)

# sed '/^=/ d' data.txt
This is line number: #1
This is line number: #2 \
This is line number: #6 \
This is line number: #7 \
This is line number: #8 \
This is line number: #9
This is line number: #12
This is line number: #13

۹۳/۱۱/۱۰ موافقین ۰ مخالفین ۰
...:::... محسن ...:::...

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی