sed
sed: Steam Editor(字符流編輯器)的縮寫汪厨,簡稱流編輯器
sed是操作距帅、過濾和轉(zhuǎn)換文本內(nèi)容的強(qiáng)大工具
常用功能包括結(jié)合正則表達(dá)式對文件實(shí)現(xiàn)快速增刪改查吗垮,其中查詢的功能中最常用的兩大功能是過濾 (過濾指定字符串)毫玖、取行(取出指定行)
工作流程
- 讀取文件,一次讀取一行
- sed模式空間(pattern space):讀取每一行數(shù)據(jù)放入自己的工作空間(文本數(shù)據(jù)讀入內(nèi)存)
- 模式匹配
- 匹配失敗 :默認(rèn)輸出到屏幕(可以取消)
- 匹配成功:編輯(輸出到屏幕)
語法
sed [選項(xiàng)] [sed內(nèi)置命令字符] [輸入文件]
選項(xiàng)
參數(shù)選項(xiàng) 解釋
-n 取消默認(rèn)sed的輸出颓遏,常與sed內(nèi)置命令p一起用(取消默認(rèn)輸出,只顯示符合規(guī)則的)
-i 直接將修改結(jié)果寫入文件废封,不用-i州泊,sed修改的是內(nèi)存數(shù)據(jù)
-e 多次編輯,不需要管道符了
-r 支持正則擴(kuò)展
內(nèi)置命令字符
sed的內(nèi)置命令字符用來對文件進(jìn)行不同的操作功能漂洋,如對文件增刪改查
sed常用內(nèi)置命令字符
字符 解釋
a append遥皂,對文本追加,在指定行后面添加一行/多行文本
d delete刽漂,刪除匹配行
i insert演训,表示插入文本,在指定行前添加一行/多行文本
p print贝咙,打印匹配行的內(nèi)容样悟,通常p與-n一起用
s/正則/替換內(nèi)容/g 匹配正則內(nèi)容,然后替換內(nèi)容(支持正則)庭猩,結(jié)尾g代表全局匹配
sed匹配范圍
范圍 解釋
空地址 全文處理
單地址 指定文件某一行
/pattern/ 被模式匹配到的那一行
范圍區(qū)間 /pattern1/,/pattern2/窟她。10,20十到二十行;10,+5第10行向下5行蔼水。
步長 開始步長震糖。12,表示1趴腋、3吊说、5论咏、7、9行颁井,2~2厅贪,表示2、4雅宾、6养涮、8、10眉抬;