shell-18-sed 的替换功能, ( )和\1 , ( )与&

sed 的替换功能     ——     sed    ‘ / 替换前 / 替换后 / g ’     文件名

这种替换不会真实改变文件

g是匹配到的项全部替换

替换后会自动全文打印,不止是匹配项的行

指定行号范围内进行的替换  ——  sed  ‘ 行号范围  s/ 替换前 / 替换后 /g ’

替换第1行至第10行内的 root 全部成 toor 

正则表达务必加 –r  才生效

每个()括起来的算是一部分整体,可用 \1 , \2 , \3 ...依次代表,并可以在后续依次调用

这里把第一个冒号前的最后一个冒号后的内容进行了替换。

([ ^: ] +):  —— 非冒号的任意字符,这个字符可以重复一次或者以上

(.*):      —— 这个过程中假如是  A:B:C:D  则匹配到的内容会是  A:B:C: ,即找到最后一个冒号前面,而忽略之前的所有冒号,这叫  .* 的贪婪匹配

要替换的文件名中含有 / ,可能会造成歧义,这时需要脱义 \ / ,或者换特征分割符成 @ # 使用。

比如 /root/ 替换成  abc  ,则为  sed  -r  ‘ /  \/root\/  /   abc  /g ’   或  sed -r  '  @ /root/ @ abc @  g '

例如原文件:  

通过 [ ] 的范围作用把 所有的英文字母删除掉。(不也就是替换成空嘛)

把所有的行前面加上 aaa:

只有一个()的时候,后面引用它时可以直接用  & 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值