sed 用法

sed 用法

1,替换符号:

sed -e 's#/#-#g' -e's#:#-#g' passwd

2,使用sed文件输入命令:

vim 123.sed
s#:#/#g
s#/#-#g
sed -f 123.sed passwd

3,打印:

sed -n 2p passwd

4,替换第n次匹配:

sed 's/in/AAAAA/2' passwd
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bAAAAA:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbAAAAA/nologin

注意:在每一行内第二次匹配到in,才会替换成AAAAA

5,替换第n行的第m次匹配:

sed '2s/in/AAAAA/2' passwd
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bAAAAA:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin

注意:可以使用-n -p 组合

sed -n '2s/in/AAAAA/2p' passwd 
bin:x:1:1:bAAAAA:/bin:/sbin/nologin
sed -n '2,3s/in/AAAAA/2p' passwd
bin:x:1:1:bAAAAA:/bAAAAA:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbAAAAA/nologin
sed -n '2,$s/in/AAAAA/2p' passwd

注意:可以使用$表示到结尾

6,将替换结果保存到文件中:

sed -n '2s/in/AAAAA/2pw passwd.sed' passwd 
bin:x:1:1:bAAAAA:/bin:/sbin/nologin
cat passwd.sed 
bin:x:1:1:bAAAAA:/bin:/sbin/nologin

7,将替换结果备份,并且修改源文件:

sed -i.bak '2s/in/AAAAA/2' passwd
cat -n  passwd
1	root:x:0:0:root:/root:/bin/bash 2 bin:x:1:1:bAAAAA:/bin:/sbin/nologin
ls passwd*
passwd  passwd.bak

8,条件过滤修改:

sed -n '/root/s/bin/AAAAA/p' passwd
root:x:0:0:root:/root:/AAAAA/bash operator:x:11:0:operator:/root:/sAAAAA/nologin

9,sed多命令执行:

sed  '1{
s/root/ROOT/ s/bin/BIN/ }' passwd
ROOT:x:0:0:root:/root:/BIN/bash
sed -n -e '1s/root/ROOT/' -e '1s/bin/BIN/' -e 1p passwd
ROOT:x:0:0:root:/root:/BIN/bash

转载于:https://www.cnblogs.com/linushelp/p/7019206.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值