sed 替換基礎使用

咱們簡單地使用sed替換文本中的內容 sed 's/dog/elephon/' testfile,就是感受匹配上就行,而不是按照單詞分割。

s使用的方式,能夠在後面添加flags操做,s/pattern/replacement/flags正則表達式

  • 數字,代表新文本將替換第幾處模式匹配的地方
  • g,代表新文本將會替換全部匹配的文本
  • p,代表原先行的內容要打印出來;
  • w file,將替換的結果寫到文件中

好比sed 's/h/o/2' testfile編輯器

p操做使用-n選項,能夠打印與替換命令模式匹配的行,sed -n 's/dog2/dophine/p' testfilespa

sed編輯器容許選擇其餘字符來做爲替換命令中的字符串分隔符,sed -n 's!dog2!dophine!p' testfile 和上面的效果是同樣的否則對於咱們經常使用的正斜線(/),那麼你就要寫成(\/)這樣的形式,仍是挺頭疼的。blog

若是隻想將命令做用 於特定行或某些行,則必須用行尋址:字符串

  • 以數字形式表示行區間
  • 用文本模式來過濾出行

sed編輯器會將文本流 中的第一行編號爲1,而後繼續按順序爲接下來的行分配行號  test

試試將第二行的數據修改了,sed  '2s/h/o/' testfilesed

固然能夠加上不少行的修改 sed  '2,3s/h/o/' testfilefile

或者說想將命令做用到文本中從某行開始的全部行,使用美圓符sed  '2,$s/h/o/' testfilecommand

sed編輯器容許指定文本模式來過濾出命令要做用的行,格式:/pattern/commandim

好比使用這樣的 sed  '/dog2/s/h/o/' testfile

固然更加牛逼的功能是使用正則表達式,來達到更好的模式匹配的效果,好比簡單點 sed -n  '/^The/s/h/o/p' testfile

未完待續!!!

相關文章
相關標籤/搜索