文本替换:sed 's#原字符串#新字符串#g' file
s 单独使用→将每一行中第一处匹配的字符串进行替换
sed -i 's/原字符串/替换字符串/g' filename ####替换文件中的所有匹配项
g 每一行进行全部替换→sed指令s的替换标志之一(全局替换)
sed 's/^/添加的头部&/g' ####在所有行首添加
sed 's/$/&添加的尾部/g' ####在所有行末添加
sed '2s/原字符串/替换字符串/g' ####替换第2行
sed '$s/原字符串/替换字符串/g' ####替换最后一行
sed '2,5s/原字符串/替换字符串/g' ####替换2到5行
sed '2,$s/原字符串/替换字符串/g' ####替换2到最后一行sed 's/^/添加的头部&/g;s/$/&添加的尾部/g' ####同时执行两个替换规则,中间加分号
sed取区间范围并替换:
例:取 {} 范围(以{开头,以}结尾的行),并将其中的AAA替换为BBB
取区间:sed -n '/^device/,/\}$/p' liangjc.txt ####取以device开头并以}结尾的行
sed '/^{/,/}$/s#AAA#BBB#g' liangjc.txt
删除操作
删除文件的第2行:sed '2d' file
删除文件的第2行到末尾所有行:sed '/^$/d' file
删除空白行: sed '/^$/d' file
sed 查询单行文本:
查询多行文本 使用数字地址范围 sed -n '2,4p' hi.txt
查询指定多行 sed -n '2p;4p;10p;30p' hi.txt
增加单行文本
a 追加append,在指定行后添加一行或多行文本
i 插入insert,在指定行前添加一行或多行文本
########将 hello world 追加到以test开头的行前面: sed '/^this/i\hello world ' file
########在t1.txt文件第1行之前插入test: sed -i '5i\test' t1.txt