您当前的位置: 首页 > 

杨林伟

暂无认证

  • 2浏览

    0关注

    3337博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

解决sed替换文本,里面含有“/“、“#”等特殊字符的问题

杨林伟 发布时间:2022-08-09 11:12:20 ,浏览量:2

如果我们使用sed命令时,如果出现特殊字符,可能会报错,示例如下:

# /不可以作为界定符,因为会与里面的内容冲突
sed -i 's/flink//etc/g' 

# 井号#不可以作为界定符,因为会与里面的内容冲突
sed -i 's#jdbc://127.0.0.1&password=1#aa$username=root#g' 

# @不可以作为界定符,因为会与里面的内容冲突
sed -i 's@jdbc://127.0.0.1&password=1@aa$username=root@g' 

那该如何解决呢?

我们得看来里面的内容来选择特定的界定符,例如:

  • 里面含有"/",可以选择“#”或“ @”作为界定符;
  • 里面含有“#”,可以选择“@”或“/”作为界定符;
  • 里面含有“@”,可以选择“/”或“#”作为界定符。

那么如果都有以上的内容呢?只能在被替换文本中使用转义符号 “\”了,如:

sed -i 's/oracle/\/etc\/oracle/g'
关注
打赏
1662376985
查看更多评论
立即登录/注册

微信扫码登录

0.0582s