sed命令的使用

1.基本语法 

sed [option] '地址定位 + sed指令' filename

2.sed常用选项

-r: 启用正则表达式

-e:执行多个脚本 ,例如: -e 'script01' -e 'script02' -e 'script03'

-n:默认情况sed命令有标准输出,加上-n选项抑制sed标准输出

-i:将标准输出写回源文件

3.地址定位(模式匹配)

决定对哪些行进行编辑

1)空模式,表示所有行都执行动作:sed 'p' 1.txt

2) 用行号进行地址定位

输出单独行
sed -n '1p' 1.txt # 输出第一行
sed -n '$p' 1.txt # 输出最后一行
输出范围行
sed -n '1,5p' 1.txt # 输出第一行到第五行
sed -n '1,+3p' 1.txt #输出从第1行起,往后数3行
输出间隔行
sed -n '1~2p' 1.txt # 输出从第一行开始,每数两行输出一次 (输出奇数行)

3.正则地址定位

1.满足正则表达式的行:/正则表达式/

2.满足正则表达式范围的行:/正则表达式1/,/正则表达式2/

4.sed常用指令

p:打印

d:delete

!:放在命令前表示取反

1)p:打印

sed -n '1p' 1.txt 打印第一行内容

2)d:删除

sed '1d' 1.txt 删除第一行内容

3)i:插入行

sed '/^root/i\hello' /etc/passwd

4)a:追加行

sed '/^root/a\hello' /etc/passwd

5)c:替换行

sed '/^root/c\hello' /etc/passwd

6) s:替换

g:全局替换

i:忽略大小写

n:第n个被匹配到的(n表示数字)

&:表示引用匹配到的整个字符串

7)y:转换的命令,【对应转换】

8) r:将一个文件的内容添加到另一个文件的行出

9)w:将地址指定的范围内的行另存到其他文件中

不存在则创建,存在则会覆盖原内容

子命令不会修改源文件,修改源文件,需要加-i选项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值