sed學習劄記

來源:互聯網
上載者:User

  sed使用起來,感覺跟awk也有點類似,也可以理解成匹配一個模式,然後執行相應的動作。但是這個模式可以是Regex匹配的模式,也可以是特定的某些行。但是匹配後可以執行的動作確實是sed的一大亮點,其幾乎能完成一個文字編輯器所實現的功能。比如增加,刪除等操作。其命令的字和vim的還是比較相似的。

d:用於刪除

s:用於替換

選定行:例如‘1,5’ ‘/abc/,./fgh/’

e:執行多個命令,例如sed '-e s/a/A/g' -e 's/b/B/g'

r:從檔案中讀取內容,並增加到匹配的行後面

w:將所有匹配的內容,寫入檔案中

a\:追加文本到匹配的行的下一行

i\:插入文本到匹配的行的前一行

n:對匹配的檔案的下一行進行操作,例如/match/{n;s/abc/def/g}

練習:

cat test_sed

1.把Steve的名字改成Jon

sed 's/Steve/Jon/g' test_sed

2.刪除頭三行

sed '1,3d' test_sed

3.顯示5-10行

sed -n 1,5p test_sed

4.刪除包含Lane的行.

sed -n /Lane/d test_sed

5.顯示生日在November-December之間的行

sed -n '\#:1[12]/#p' test_sed

6.把三個星***添加到含Fred的行

sed  -n '/Fred/ s/$/***/p' test_sed  

7.用JOSE HAS RETIRED取代包含Jose的行

sed -n 's/Jose/JOSE HAS RETIRED/gp' test_sed

8.把Popeye的生日改1/14/46

sed -n '/Popeye/ s#[0-9]*/[0-9]*/[0-9]*#1/14/46#gp' test_sed

9.刪除空白行

sed '/^$/d' test_sed

10.在20到30前加#號

sed '1,20 s/^/#&/g' test_sed

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.