MacOS与Linux下sed命令匹配替换的差别

Macos

例如将test.txt文件内的以1开头的行,替换为"aa/bb"
使用命令
sed -i ".bak" "s/1.*/aa\/bb/" test.txt
其中:

-i ".bak"是直接操作文件并添加.bak作为备份文件名称,如果不需要备份文件,则使用-i “”
s/代表’“substitue”,即替换
1.* 代表以1开头的所有字符串,.*在正则表达式中表示所有字符
aa/bb使用了转义字符表示aa/bb。
注意最后还需要一个分界符/,否则会提示unterminated substitute in regular expression
分界符也可使用|,那么特殊符号就不需要转义字符了,命令就变成:
sed -i ".bak" "s|1.*|aa/bb|" test.txt
如果需要在文件中替换多个相同的字符串,需要添加global参数g,即:
sed -i ".bak" "s/1.*/aa\/bb/g" test.txt
或者
sed -i ".bak" "s|1.*|aa/bb|g" test.txt

Linux

将文件test.txt中所有的a替换成b
sed -i "s/a/b/g" test.txt

看到差别了吧。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chenzuoli

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值