Linux中使用sed命令替换字符串

 

文本替换:sed 's#原字符串#新字符串#g'  file

                    s     单独使用→将每一行中第一处匹配的字符串进行替换
                    g     每一行进行全部替换→sed指令s的替换标志之一(全局替换)

sed -i 's/原字符串/替换字符串/g' filename              ####替换文件中的所有匹配项
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/^/添加的头部&/gs/$/&添加的尾部/g'           ####同时执行两个替换规则,中间加分号

sed取区间范围并替换:

 例:取  {}  范围(以{开头,以}结尾的行),并将其中的AAA替换为BBB

 

sed    '/^{/,/}$/s#AAA#BBB#g'    liangjc.txt

 

取区间:sed -n '/ ^device/,/ \}$/p'  liangjc.txt     ####取以device开头并以}结尾的行

 

 

删除操作

               删除文件的第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

 

  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值