账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    请问 Shell 如何进行正则替换?
    57
    0

    比如我由一个字符串变量,内容为:

    AAA=<?=\${AAA}=?>
    BBB=<?=\${BBB}=?>
    <%=[ "\${Alias}" == "" ]=%>
    CCC=\${CCC}

    我想实现正则替换,将字符串生成为:

    AAA=<?=${AAA}=?>
    BBB=<?=${BBB}=?>
    <%= [ "${Alias}" == "" ] =%>
    CCC=\${CCC}

    或者

    AAA=${AAA}
    BBB=${BBB}
    [ "${Alias}" == "" ]
    CCC=\${CCC}

    请问如何实现,我试了 sed 等,但是 Shell 能力有限,难以达到效果。

    注意:我是想达到一种模板引擎替换的效果。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 指尖花凉、已成殇 普通会员 1楼

      在 Shell 中,你可以使用 sed 命令来进行正则替换。sed 命令的语法如下:

      bash sed -i 's/old_pattern/new_pattern/g' input_file

      其中,-i 选项表示进行插入模式,-s 选项表示替换模式,old_pattern 是你想要替换的正则表达式,new_pattern 是你想要替换成的新正则表达式。

      例如,如果你想要将所有以 "a" 开头的字符串替换为 "b",你可以使用以下命令:

      bash sed -i 's/a/b/g' input_file

      在这个命令中,a 是 "a" 的反向引用,所以 s/a/b/g 就是将所有 "a" 替换为 "b"。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部