shell中的sed命令

shell中的sed命令

    sed命令 主要是对文本进行编辑,当需要对文本进行反复操作,或者编写脚本时,会经常用到!sed命令的组成 和其他命令不太一样的是多了个动作。一般都是命令 -参数  正则变量,文本变量。在sed中可以在正则变量里添加动作,而且一说到正则肯定离不开转义字符,它的转义字符也不太一样。
参数
参数功能备注
-e以指定的script来处理输入的文本文件。Expression,就类似于执行匹配的正则
-n只打印符合条件的文本only(N) grep的 是o
-r正则表达式RegularExpression(R)
-i原地修改文件类似于vi中 i
-f指定正则文件来进行进一步的操作-File和e是有区别的
动作 (常用部分)

WARING:所有的动作都必须加上单引号,否则无效

参数功能备注
a追加append
i增加increase
p打印print
d删除delete
c替换
s替换(通常跟正则表达式一起连用)
r从别的文件中读read,类似于<
w将结果写入(保存)到文件中write,类型与>重定向
&保存查找串以便在替换串中引用定位符(表引用,引用匹配的文本)
例子

文本准备:more /etc/hosts |head -10 >a.txt
1.
[root@localhost ~]# sed ‘’ a.txt #对文件什么都不做
[root@localhost ~]# sed -n ‘p’ a.txt #打印每一行,并取消默认输出
[root@localhost ~]# sed -n ‘1p’ a.txt #打印第1行
[root@localhost ~]# sed -n ‘2p’ a.txt #打印第2行
[root@localhost ~]# sed -n ‘1,5p’ a.txt #打印1到5行

[root@localhost ~]# sed -n ‘$p’ a.txt #打印最后1行
2.
[root@localhost ~]# sed ‘$a99999’ a.txt #文件最后一行下面增加内容
[root@localhost ~]# sed ‘a99999’ a.txt #文件每行下面增加内容
[root@localhost ~]# sed ‘5a99999’ a.txt #文件第5行下面增加内容
[root@localhost ~]# sed ‘$i99999’ a.txt #文件最后一行上一行增加内容
[root@localhost ~]# sed ‘i99999’ a.txt #文件每行上一行增加内容
[root@localhost ~]# sed ‘6i99999’ a.txt #文件第6行上一行增加内容
[root@localhost ~]# sed ‘/^bin/ihello’ a.txt #以bin开头行的上一行插入内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值