1. 程式人生 > >3.sed語法與命令定址

3.sed語法與命令定址

sed語法中的命令定址部分


數字定址:用行數來確定修改內容地址


sed '4s/abs/A/' passwd  將passwd中第4行中的abc改成A


sed '2,5s/abs/A/' passwd   匹配第2行到第5行


sed '2,+5s/abs/A/' passwd   匹配第2行開始往後加2行(不包括第2行)


sed '2,~5s/abs/A/' passwd  匹配第2行開始到下一個5的倍數行


sed '4~3s/abs/A/' passwd   匹配第4行開始每隔3行(包括第4行)


sed '$s/abs/A/' passwd   匹配最後1行(第一行不是用^ , 而是直接用1)


sed '4!s/abs/A/' passwd   !表示取反


正則定址
:用正則內容來確定修改內容地址


sed '/正則表示式/s/abs/A/'    在命令前加// , 匹配符合/ /之間的正則表達的行


兩個 /正則/ 之間用,相連  表示對符合兩個正則之間的內容進行修改


^$ 表示空行


^ 表示以...開頭的行 


分組命令: 同一範圍內兩個替換可以用{}括起來,中間加分號


例:sed '/^\.TS/,/^\.TE/{s/CN/China/;s/Beijing/BJ/}' file.txt  表示把以.TS開頭的行到以.TE結尾的行之間的內容中CN改成China,Beijing改成BJ。