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