接上文:grep命令快速入門
linux 文本操作的三大神器:grep、sed、awk,各自的最佳應用場景:
- grep:使用正則表達式搜索文本,并把匹配的行打印出來,是強大的文本搜索工具;
- sed:用于編輯匹配到的文本,是一種流編輯器;
- awk:能夠對文本進行復雜的格式處理,是一種處理文本的語言。
sed 是一種流編輯器,它一次處理一行的內容。處理時,把當前處理行的內容存儲在緩沖區中,稱為“模式空間(pattern space)”,接著通過sed命令處理模式空間中的內容,處理完成后,把模式空間中的內容輸出到屏幕。
1、命令功能
sed 主要用于自動編輯一個或多個文件,簡化對文件的反復操作。
2、命令格式
sed [options] '[地址定界] command' file
3、命令參數 options
- -n:只打印匹配到的行
- -e:多次匹配,相當于對每行處理時,順序執行多個sed命令
- -i:直接將處理結果寫入文件
4、地址定界
- 不給地址:默認對全文進行處理
- 單地址:/pattern/,被pattern匹配到的每一行
- 地址范圍:#, #
5、編輯命令 command
- d:刪除模式空間匹配到的行
- p:打印模式空間中的內容
- s/old/new/g:將old替換為new,g表示行內全局替換
6、sed 應用示例
比如有一個hello.txt,內容如下:
打印匹配到的行:
將hello替換為HELLO: