sed學習筆記

sed流處理工具(行處理工具)正則表達式

格式:sed 【選項】 '地址命令;地址命令'  【文件】工具

             例:sed -n '/root/p' /etc/passwd變量

經常使用選項:擴展

        -n                          不自動打印sed

        -e                          多點編輯file

        -f /path/file       從指定文件讀取編輯腳本循環

        -r                            支持使用擴展正則表達式文件讀取

        -i.bak                    備份文件並原處編輯數據

經常使用編輯命令:腳本

        d                            刪除匹配的行,並當即啓用下一輪循環

        p                            打印匹配內容,追加到默認輸出以後

        a[\]text                在匹配行後面追加文本,支持使用\n實現多行追加

        i[\]text                 在匹配行前面追加文本

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

        w  /path/file      保存匹配的行至指定文件

        r /path/file         讀取指定文件的文本至匹配的行後

        =                             爲行打印行號

        !                           對匹配的行取反處理

 

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

替換標記

        g              行內全局替換

        p              顯示替換成功的行

        w  /path/file    將替換成功的行保存到文件中

#sed 's/'''$var'''/zfc/'   /etc/passwd                        '''變量var'''

 

高級編輯命令

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

        h                把模式空間的內容覆蓋至保持空間

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

        g                從保持空間取出數據覆蓋至保持空間

        G                從保持空間取出數據追加至保持空間

        x                把模式空間中的內容和保持空間中的內容互換

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

        N                讀取匹配到的行的下一行追加至模式空間

        d                刪除模式空間中的行

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

相關文章
相關標籤/搜索