一、基本介紹
sed是一款常用的文本處理工具,它可以根據指定的規則進行文本的修改、替換、刪除等操作。該工具可以讀入文件內容,並將其輸出到屏幕上或者直接編輯原始文件。sed的語法比較複雜,但是只要掌握了其中的規則,就可以靈活地處理各種文本文件。
二、替換字元串
sed最常用的操作就是替換字元串,可以通過以下命令實現:
sed 's/old_string/new_string/g' filename
其中,s表示替換命令,old_string表示待替換的字元串,new_string表示替換後的字元串,g表示全局替換。如果沒有g,則只會替換第一次出現的字元串。
例如,想將文件中所有的”apple”替換成”orange”,可以使用下面的命令:
sed 's/apple/orange/g' filename
三、行編輯
sed還可以按行對文本進行處理,以下是幾個常用的命令:
1、在指定行前或後插入內容:
sed '2i\Insert text' filename # 在第2行前插入 sed '2a\Insert text' filename # 在第2行後插入
2、刪除指定行:
sed '2d' filename # 刪除第2行
3、替換指定行:
sed '2c\Replace text' filename # 替換第2行
4、顯示指定行:
sed -n '2p' filename # 顯示第2行
四、正則表達式
正則表達式是sed的重要組成部分,可以通過正則表達式匹配和替換文本中的特定字元串。
正則表達式語法比較複雜,以下是幾個常用的表達式:
1、^表示匹配行首,$表示匹配行尾:
sed '/^start/p' filename # 顯示所有以start開頭的行 sed '/end$/p' filename # 顯示所有以end結尾的行
2、.表示匹配任意一個字元,*表示匹配前面的字元任意多次:
sed '/a.*b/p' filename # 顯示含有a和b之間任意字元的行
3、[]表示匹配指定字符集,^表示不匹配指定字符集:
sed '/[aeiou]/p' filename # 顯示含有母音字母的行 sed '/[^aeiou]/p' filename # 顯示不含有母音字母的行
五、示例代碼:
下面是一個示例代碼,將文本文件中的所有”Apple”替換成”Orange”,並在文件第2行後插入一行”Citrus”:
sed -i 's/Apple/Orange/g;2a\Citrus' filename
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/311043.html