sed本身也是一个管道命令,sed可以将数据取代、删除、新增等功能。

sed的语法参数是这样的#sed [选项参数] [动作参数]

1.选项参数:

 经常用的是-i   直接修改读取的档案内容而不是从屏幕输出

2.动作参数:[n1[,n2][动作行为]

n1,n2不见得会存在,一般代表【选择进行动作的行数】,举例来说,如果我的动作是需要在10到20行之间进行的,则[10,20[动作行为]]

动作行为有:

 a  :新增,a的后面可以接字符串,但这些字符串会在这一行的下一行出现

 i   :   插入,i的后面可以接字符串,但这些字符串会在这一行的上一行出现

 c  :取代,c后面可以接字符串,这些字符串可以取代n1,n2之间的行

 d  :删除    d会删除n1,n2的行

  s  :取代,通常这个s的动作可以搭配正则表示法!例如1,20s/old/new/g

举几个例子:

1.删除

 有一个aa的文本,他的内容如下

我们要删除2,3行就可以这样写:

 

 

这样2,3的行就没了

2.取代:

我们要取代2,3行的内容为fantefei

 

 

3.新增:

要想在2行的上面添加一行51ctom,在上面添加用i

 

 

在下面添加用a这就不做了

4.s的取代:

要想入袋第三行的ll为呵呵,那:

 

 

其实s有很多用途,如取出本机的Ip

 

他其实就是去的inet addr那一行,然后让ip两边的内容都变成空就可以了.

 

5.要是不想看到aa里面的#开头的和空白行,那:

 

6.上边的都不会写入aa的文本,如果要想写入的话,就需要i

想要在aa的最后一行插入wangong

 

拓展:其实上边的不看到aa以#开头和空白行的话也可以用egrep