LinuxDay10——文本處理工具sed

sedStream EDitor),行編輯器正則表達式

sed [option]..'scrip' inputfile編輯器

scrip '地址命令'工具

不給地址:對全文進行處理spa

單地址:ip

  #:指定的行  $:最後一行input

  /pattern/:被此模式所能匹配到的每一行it

地址範圍io

  #,#擴展

  #,+#sed

  /part/,/part2/

  #,/part1/

~:步進

  1~2奇數行

  2~2偶數行

經常使用選項:

 -n關閉打印內容

 -r 使用拓展正則表達式

 -e多點編輯

 -i bak:備份文件並原處編輯

 -r 支持使用擴展正則表達式

編輯命令:

  d刪除空間模式的匹配的行

  p打印當前空間內容

  d 刪除

  !模式匹配取反

  =模式空間行 加行號

  a[\]text:在指定行後面追加文本

    支持使用\n實現多行追加

  i[\]text:在行前面插入文本

  c[\]text:替換行爲單行或多行文本

  w/path/somefile:保存模式匹配的行至指定文件

  r/path/somefile:讀取指定文件的文本至模式空間中匹配到的行後

  =:爲模式空間中的行打印行號

  !:模式空間中匹配行取反處理

sed工具

  s///:查找替換,支持使用其餘分隔符,s@@@,s###

  替換標記:

    g:行內全局替換

    p:顯示替換成功的行

    w/PATH/TOSOMEFILE:將替換成功的行保存至文件中

高級編輯命令 

  P:打印模式空間開端至\n內容,並追加到默認輸出以前

  h:把模式空間中的內容覆蓋到保持空間中

  H;把模式空間中的內容追加至保持空間中

  g:把保持空間中的內容覆蓋到模式空間

  G:把保持空間中的內容追加至模式空間

  x把模式空間中的內容與保持空間中的內容進行互換

  n把讀取匹配到的行的下一行覆蓋至模式空間

  N讀取匹配到的行的下一行追加至

  d刪除模式空間中的行

  D:若是模式空間包含換行符,則刪除直到第一個換行符的模式空間中的文本,並不會讀取新的輸入行,而使用合成的模式空間從新啓動循環。若是模式空間不包含換行符,則會像發出d命令那樣啓動正常的新循環

相關文章
相關標籤/搜索