sed关键字替换

问题:因涉及多个脚本,且各个脚本关键字较多,因此想用sed 做替换

经测试如下:

echo “aaTIME _Time time ,timE time_ 'time'| sed -r -e 's/([^a-zA-Z_"'\''"])(time)([^a-zA-Z_"'\''"])/\1`\2`\3/ig'
aaTIME _Time `time` ,`timE` time_ 'time'

cat test_sed.txt
aaTIME _Time time ,timE time_ 'time'

 sed -i.amenity_bak -r -e 's/([^a-zA-Z_"'\''"])(time)([^a-zA-Z_"'\''"])/\1`\2`\3/ig' test_sed.txt
 ll test_sed.txt
 test_sed.txt
 test_sed.txt.amenity_bak

cat test_sed.txt
aaTIME _Time time ,timE time_ 'time'

解释说明:
sed
-r 正则匹配需要增加的标识
-e 多个替换选项,后续可以继续增加-e ’s/xx/ss/ig‘ 额外的规则
-i 直接修改文件 -i.bak 的方式可以增加备份文件
[^a-zA-Z] 该方式为匹配非大小写字母
“’’’” sed中单引号显示问题: 双引号" 单引号’ 转义符号\ 单引号’ 单引号’ 双引号"
\1 \2 \3 代表前面小括号匹配的内容 分别代表 第一个括号的内容 第二个括号的内容 第三个括号的内容

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值