解决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'
目录
相关文章
|
5月前
|
数据采集
正则表达式替换
正则表达式替换
|
6月前
|
移动开发
基于Notepad++ 快速替换 换行符 为 逗号
【5月更文挑战第5天】基于Notepad++ 快速替换 换行符 为 逗号
|
6月前
|
Shell Perl
用sed如果原字符串或新字符串中包含特殊字符(如正斜杠/或其他特殊字符),需要用\进行转义
用sed如果原字符串或新字符串中包含特殊字符(如正斜杠/或其他特殊字符),需要用\进行转义
719 7
|
6月前
|
Unix Perl
`sed`命令替换文本中的单词
`sed`命令替换文本中的单词
135 3
|
监控 Python
一日一技:批量转义正则表达式中的特殊符号
一日一技:批量转义正则表达式中的特殊符号
99 0
|
Linux 数据安全/隐私保护 C++
C++解析一些特殊符号tab、换行符号
C++解析一些特殊符号tab、换行符号
273 1
C++解析一些特殊符号tab、换行符号
|
Linux Perl
LINUX使用sed,字串中包含特殊字符怎么办?
LINUX使用sed,字串中包含特殊字符怎么办?
151 0
|
Shell Linux Perl
Shell的正则表达式入门、常规匹配、特殊字符:^、$、.、*、字符区间(中括号):[ ]、特殊字符:\、匹配手机号
Shell的正则表达式入门、常规匹配、特殊字符:^、$、.、*、字符区间(中括号):[ ]、特殊字符:\、匹配手机号
Shell的正则表达式入门、常规匹配、特殊字符:^、$、.、*、字符区间(中括号):[ ]、特殊字符:\、匹配手机号
C#编程-87:正则表达式替换
C#编程-87:正则表达式替换
C#编程-87:正则表达式替换
|
PHP Perl
sed 多行替换,多行模式处理字符串;一次替换
作者:凨 例: 需求:sed 替换多行(2到6行)替换为空,且返回系统配置信息 <?php /**CustomConfigurationStart*/ $c=require APP_PATH.'Common/Conf/config-custom.php'; /*COOKIES,SESSION域*/ $domain=preg_replace('/(.*\.|.*\/\/)?(
3410 0