Sed 命令

        sed 命令是在线编辑器,对所编辑的文件每次只是处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。然后接着处理下一行直到文件的结尾。sed命令的处理一般不会对原有文件进行修改(当加上选项 -i时例外),只是把处理的结果显示到屏幕而已。

这里先建立一些文件如下:

test文件:

Hello!
lc is me,welcome to my blog.
Today is a special day
Thank you
end

test.sed文件:

s/is/was/g

一、sed命令的格式:

sed [-efinr] 'command' file

选项的意义:

-e    可以同时执行多个sed命令,多个命令用空格来分开

      例子:sed -e '1d' -e 's/is/was/g' test

       输出结果:

   lc was me,welcome to my blog.
    Today was a special day
    Thank you
    end

    -f 处理文件里的sed的命令

       例子:sed  -f  test.sed  test

       输出结果:

    Hello!
lc
 was  me, welcome to  my blog.
Today
  was  a special  day
Thank
 you
end
  

-i操作过后,直接修改文件  

例子:sed  -i  's/is/was/g'  test

输出结果:

Hello!
lc
  was  me, welcome to  my blog.
Today
  was  a special  day
Thank
 you
end

-n只显示被修改过的行,一般与“command:p”一起使用

例子:sed  -n  '/is/p'  test

输出结果:

lc  is  me, welcome to  my blog.
Today
 is  a special  day

-r支持扩展的正则表达式

常用的command:

a新增,把紧接在a后面的字符串加到所处理行的下一行

例子:sed   '$a   bye'   test

Hello!
lc
  is   me,  welcome   to  my   blog.
Today
   is   a  special   day
Thank
  you
end
bye

c取代,用紧接在c后面的字符串替代所编辑的行

例子:sed   '1c   hi'   test

输出结果:

hi
lc
  is   me,  welcome   to  my   blog.
Today
  is   a  special   day
Thank
  you
end

d删除,不输出删除的行

例子:sed   '1d '   test

输出结果:

lc   is   me,  welcome   to  my   blog.
Today
  is   a  special   day
Thank
  you
end

i插入,把紧接在i后面的字符串加到所处理行的上一行

例子:sed   '1i ok '   test

输出结果:

ok

Hello!

lc   is   me,  welcome   to  my   blog.
Today
  is   a  special   day
Thank
  you
end

p 输出,把选择的行输出

例子:sed   -n '1p'   test

输出结果:

Hello!

s替换,格式:s/old/new/g

例子:sed   's/is/was/'   test

输出结果:

Hello!

lc   was   me,  welcome   to  my   blog.
Today   was   a   special   day
Thank   you
end




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值