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

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

如果我们使用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'
目录
相关文章
|
Linux Perl
解决脚本实现:sed -i 替换变量,变量中含有特殊转义字符的问题
解决脚本实现:sed -i 替换变量,变量中含有特殊转义字符的问题
解决脚本实现:sed -i 替换变量,变量中含有特殊转义字符的问题
|
Kubernetes API Docker
k8s教程(pod篇)-容器获取pod信息(Downward API)
k8s教程(pod篇)-容器获取pod信息(Downward API)
2122 0
|
安全 Java 应用服务中间件
组件漏洞修复---修改SpringBoot内置tomcat的版本号
安全反应Tomcat9.0.41存在安全漏洞,让将所有服务的Tomcat版本升级到9.0.44,我们都知道SpingBoot中是集成的有内置的Tomcat的,叫Embed-Tomcat,这个Tomcat和我们用于部署war包的Tomcat还是有有一些区别的,但是版本一直和Tomcat基本保持一致。
2676 0
组件漏洞修复---修改SpringBoot内置tomcat的版本号
|
Shell Perl
用sed如果原字符串或新字符串中包含特殊字符(如正斜杠/或其他特殊字符),需要用\进行转义
用sed如果原字符串或新字符串中包含特殊字符(如正斜杠/或其他特殊字符),需要用\进行转义
1525 7
|
数据采集 运维 监控
运维笔记:流编辑器sed命令用法解析
运维笔记:流编辑器sed命令用法解析
218 5
|
SQL 数据处理 API
10分钟了解Flink SQL使用
Flink 是一个流处理和批处理统一的大数据框架,专门为高吞吐量和低延迟而设计。开发者可以使用SQL进行流批统一处理,大大简化了数据处理的复杂性。本文将介绍Flink SQL的基本原理、使用方法、流批统一,并通过几个例子进行实践。
10分钟了解Flink SQL使用
|
Ubuntu Linux
ubuntu linux配置bond 网卡绑定 多个bond配置多网关
ubuntu linux配置bond 网卡绑定 多个bond配置多网关
1014 1
|
Linux
Linux每五分钟执行一次某个脚本的定时任务如何写
【6月更文挑战第28天】Linux每五分钟执行一次某个脚本的定时任务如何写
2459 0
|
存储 运维 Nacos
nacos常见问题之连接用户名和密码把明文用户名和密码进行加密如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
2149 2
|
存储 Perl
sed处理多行模式(如括号匹配)
sed处理多行模式(如括号匹配)
1285 2