sed正則表達式
1) # sed -n '/ 字符串/'p 文件名spa
2)上述功能都支持特殊字符 . * +等文檔
可是使用+的時候須要脫義\ 若是不想使用\ 須要給sed加上-r選項字符串
3)支持{}:匹配屢次前面的字符test
4)支持或者| sed
5)打印指定行# sed -n '行號'p 文件名im
6)打印指定範圍的行# sed -n '開始行號,結束行號'p 文件名英文
7)打印指定的開始行到結束行,結束行用$表示img
8)選項-e刪除文件
表示要在一行命令進行多個操做
如上圖既打印了第一行,又匹配了bus,若是兩個操做結果有重合的行,那麼重合的行會打印兩次
9)不區分大小寫 加上I
2.其餘功能
1)d 刪除功能
刪除指定行後展現到屏幕,文件內容未被刪除
上述命令加上-i選項後則會刪除文件內容
d還能夠刪除指定內容的行
2)替換功能s
# sed '起始行,結束行s/查找字符串/替換字符串/g' 文件名 //替換字符串
上圖中的命令表示的意思是:將test.txt文件中第一行到第五行中的bin所有查找出來而後替換爲ain,最後在屏幕上將替換後的整個文件打印出來
被替換的字符串能夠爲正則表達式,以下圖
例:將下圖行中前十行的第一段和最後一段調換順序
使用命令# head test.txt |sed -r 's/([^:]+):(.*):([^:]+)/\3\2\1/'
其中的\3表示查找內容的第三段,在命令中是表示將第三段內容放在第一段的位置,運行結果以下
需求:刪除文檔中全部英文字符
使用命令# sed 's/[a-zA-Z]//g' 文件名
需求:將全部行前面加上一個字符串
使用命令 # sed -r 's/(.*)/字符串&/' 文件名
其中&表示前面查找的內容,能夠使用\1代替&