Sed 常用命令

2021-05-28 11:22:27 字數 1434 閱讀 1937

#1 sed 變數替換

ipp=1.1.1.1

#將synrecvd文字中的1.1.1.1都清除 並且刪除空行

echo $ipp | sed -i "s/$ipp//g;/^$/d" synrecvd

#2 sed 使用條件語句 修改文字,但不能插入一行資料

[root@a ~]# cat c

aaabbb

cccddd

eeefff

[root@a ~]# sed '/ccc/s/$/\tyes/;ta;s/$/\tno/;:a' c

aaa     no

bbb     no

ccc     yes

ddd     no

eee     no

fff     no

#遇到ccc加yes後,成功了,遇到ta,跑到:a這個地方,然後繼續下一行,下一行若是沒ccc,不成功,後面直接加no,這個ta類似是在符合條件的時候跳過某些命令,剛好符合if/else.

#;ta;中的t是跳轉到a的意思,可以使用..tb...;:b

#3 sed 其他

sed '1,3d' file //刪除1-3行 

sed '/[aa]bc/p' file //列印包含abc或者abc的行 

sed '/abc/d' //刪除包含abc的行 

sed '/abc/!d' //不刪除包含abc的行 

sed '5,$d' //從第五行到最後一行全部刪除 

sed 1q  //顯示第一行 

sed 's/$/.../g' //每行的最後面新增 ... 

sed 's/d.(sk)/1&/g' //滿足d*sk的單詞,在單詞前新增sk 

sed 's/<[^>]*>//g' //去除html標籤 

sed '/abc/a123' //在包含abc的行後面新增一行數值為123的行 

sed '/abc/i123' //跟a不同的是i是插入當前行的前面 

sed '/abc/c123' //包含abc的行將更改為123 

sed '/abc/' //精確匹配包含abc的下一行,將123全部替換成abc 

sed '/abc/' //在包含abc的行將a替換成a 

sed -e '/abc/h' -e '$g' //將包含abc的行複製,在最後一行新增. 

sed -e '/abc/' -e '/123/g' //將包含abc的行複製並刪除,在包含123的行後新增. 

g等於在當前行覆蓋,g是在符合條件的行後新增加一行. 

sed 's/^/ /g' //每行前面增加乙個空格 

sed 's/.(.)$/*1/' //將倒數第二位換成* 

sed '/abc/!s/1/*/g' //在不包含abc的行裡,將所有的1替換成* 

sed 's/1|2|3/*/g' //在gnu裡將不管是1或2或者是3替換成*

sed常用命令

toc sed是以行為單位的文字處理工具 sed命令作用a 在匹配項後面加入文字 c字元轉換 d刪除行 d刪除第一行 i在匹配行前面加入文字 h複製模板塊的內容到儲存空間 h追加模板塊的內容到儲存空間 g將儲存空間的內容複製到模式空間 g將儲存空間的內容追加到模式空間 n讀取下乙個輸入行,用下乙個命...

sed常用命令

行頭追加 假設處理的文字為test.file 在每行的頭新增字元,比如 head 命令如下 sed s head g test.file 不加 i 是輸出到螢幕上在每行的行尾新增字元,比如 tail 命令如下 sed s tail g test.file 不加 i 是輸出到螢幕上sed i就是直接對...

Linux常用命令sed

1.在特定行前後插入特定內容 str1 public static config array str2 public var dump line var dump line 行後插入 sed i str1 a str2 file 行前插入 sed i str1 i str2 file 正常的插入表示...