sedserver
sed 強項在於替換,替換一些指定字符。文檔
匹配字符串
會發現連續打印兩次,若是不想讓他打印無關的行:test
一樣也支持. *sed
也支持+,可是須要脫義(若是不想用脫義,能夠用-nr):im
---英文
打印指定行 ($表示末行)img
所有打印:文件
---字符
sed -e 在同一個表達式裏面作多個動做。
[root@serverlooker-01 sed]# sed -e '1'p -e '/bus/'p -n test.txt
打印第一行,匹配bus
若是是重合的,會打印兩次
(-e 能夠寫多個)
---
不區分大小寫: 加 I
---
刪除指定行:
(其實並無刪文件,僅僅是在屏幕當中把剩下的行列出來)
把第一段和最後一段替換一下位置:
[root@serverlooker-01 sed]# head test.txt |sed -r 's/([^:]+):(.*):([^:]+)/\3:\2:\1/'
(s 若是不指定範圍,就是所有)
(要想使用小括號,要加-r ,要否則就進行脫義,這是sed比較麻煩的一點)
(.*): 貪婪匹配,一直匹配到最後一個冒號
前面用小括號括起來的,後面就要用反斜槓,數字去表示它。
---
把root換成123
注意要脫義或者替換一些分隔符,好比用@,只要能區分開就行
---
把文檔裏全部的英文字母刪除:
(刪除掉其實就是替換爲空)
---
把全部的行前面加一個字符串,好比aaa:
[root@serverlooker-01 sed]# head test.txt |sed -r 's/(.*)/aaa:&/'
(.*) 小括號括起來表示一整行
& 表示前面這個小括號
---
OK.