用sed如果原字符串或新字符串中包含特殊字符(如正斜杠/或其他特殊字符),需要用\进行转义

简介: 用sed如果原字符串或新字符串中包含特殊字符(如正斜杠/或其他特殊字符),需要用\进行转义

当你在使用sed命令进行搜索和替换操作时,如果原字符串或新字符串中包含特殊字符,如正斜杠 /、反斜杠 \、感叹号 !、美元符号 $ 等,这些字符在sed脚本中可能具有特殊含义,因此需要进行转义处理。

例如,如果你想在文本中将所有连续的两个正斜杠//替换成单个正斜杠/,你应该这样写:

sed 's/\/\//\//g' filename

这里,第一个和第二个\/用于匹配一个正斜杠(因为/s命令中是分隔符,所以需要转义);第三个\和后面的/组合表示替换为一个正斜杠。

再比如,如果你要替换的是反斜杠 \,由于在Bash中反斜杠也是转义字符,所以你需要写成四个反斜杠 \\\\

sed 's/\\\\/\\/g' filename

这里,\\\\用于在sed命令中匹配一个实际的反斜杠字符。

目录
相关文章
如何去掉字符串开头,结尾或者中间的空格及其他不想要的字符
去掉文本字符串开头,结尾或者中间不想要的字符,比如空白。
|
2月前
|
固态存储 Python
正则表达匹配任意单个字符
正则表达匹配任意单个字符
39 4
|
8月前
正则表达式中的字符详解
正则表达式中的字符详解
63 1
|
5月前
|
Perl
解决sed替换文本,里面含有“/“、“#”等特殊字符的问题
解决sed替换文本,里面含有“/“、“#”等特殊字符的问题
65 0
|
7月前
|
C语言
向字符串添加空格
首先我们可以算出s数组的大小-len,也可以直接得到spaces的大小-即要添加的空格数,那么我们要创建的数组大小是len+spacesSize吗? 不是,应该是len+spacesSize+1,这里的加一是存放一个'\n' 这里呢 我们可以写一个for i循环,用来把s中的元素放到arr里面,然后在外面定义一个falg用来充当arr的下标,存进一个元素falg++,再定义一个j=0,当i == space[j]就存放空格,每存放一个空格++.
44 0
|
11月前
|
数据采集 移动开发
一日一技:在字符串中批量替换单个字符
一日一技:在字符串中批量替换单个字符
102 0
正则表达式 - 最常用正则表达式大全(数字、字符、特殊)
正则表达式 - 最常用正则表达式大全(数字、字符、特殊)
618 0
|
数据采集 Java 开发工具
Java正则表达式匹配aabb、abab格式字符
我们开发过程中,经常用到正则表达式来匹配想要的字符串,或者从一段文本中提取想要的关键字,比如爬虫应用等。正则表达式是对字符串提取的一套规则,我们把这个规则用正则里面的特定语法表达出来,去匹配满足这个规则的字符串。正则表达式具有通用型,不仅java里面可以用,其他的语言也一样适用。
348 0
Java正则表达式匹配aabb、abab格式字符
获取字符串内双引号中的所有内容
获取字符串内双引号中的所有内容
113 0
获取字符串内双引号中的所有内容
用#替换字符
给定一个由大小写字母构成的字符串。 把该字符串中特定的字符全部用字符 # 替换。
87 0