sed匹配第N个进行替换

这篇博客介绍了如何使用sed命令在Linux中查找并替换文本文件中特定位置的字符串,例如从匹配到以字母c开始的行到以字母m开始的行之间的所有行中的/bin/bash,将其替换为/sbin/nologin0。博主分享了不同场景下的sed命令用法,包括替换第一个、第N个以及最后一个匹配项的方法,并给出了详细的解释和示例。
摘要由CSDN通过智能技术生成

sed -s '/^c/{:a;n;s@/bin/bash@/sbin/nologin0@g;/^m/!ba}' passwd

[root@elk 13_bash]# cat passwd
a:x:1002:1002::/home/a:/bin/bash
b:x:1003:1003::/home/b:/bin/bash
c:x:1004:1004::/home/c:/bin/bash
d:x:1005:1005::/home/d:/bin/bash
e:x:1006:1006::/home/e:/bin/bash
f:x:1007:1007::/home/f:/bin/bash
g:x:1008:1008::/home/g:/bin/bash
h:x:1009:1009::/home/h:/bin/bash
j:x:1010:1010::/home/j:/bin/bash
k:x:1011:1011::/home/k:/bin/bash
l:x:1012:1012::/home/l:/bin/bash
m:x:1013:1013::/home/m:/bin/bash
n:x:1014:1014::/home/n:/bin/bash
p:x:1015:1015::/home/p:/bin/bash
i:x:1016:1016::/home/i:/bin/bash
cc:x:1017:1017::/home/cc:/bin/bash
dd:x:1018:1018::/home/dd:/bin/bash
ee:x:1019:1019::/home/ee:/bin/bash
bb:x:1020:1020::/home/bb:/bin/bash
[root@elk 13_bash]# sed -s '/^c/{:a;n;s@/bin/bash

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值