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

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

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

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

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

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

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

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

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

目录
相关文章
如何去掉字符串开头,结尾或者中间的空格及其他不想要的字符
去掉文本字符串开头,结尾或者中间不想要的字符,比如空白。
|
4天前
|
移动开发
基于Notepad++ 快速替换 换行符 为 逗号
【5月更文挑战第5天】基于Notepad++ 快速替换 换行符 为 逗号
|
5天前
|
固态存储 Python
正则表达匹配任意单个字符
正则表达匹配任意单个字符
43 4
|
8月前
|
C语言
向字符串添加空格
首先我们可以算出s数组的大小-len,也可以直接得到spaces的大小-即要添加的空格数,那么我们要创建的数组大小是len+spacesSize吗? 不是,应该是len+spacesSize+1,这里的加一是存放一个'\n' 这里呢 我们可以写一个for i循环,用来把s中的元素放到arr里面,然后在外面定义一个falg用来充当arr的下标,存进一个元素falg++,再定义一个j=0,当i == space[j]就存放空格,每存放一个空格++.
44 0
|
数据采集 移动开发
一日一技:在字符串中批量替换单个字符
一日一技:在字符串中批量替换单个字符
102 0
|
数据采集 Java 开发工具
Java正则表达式匹配aabb、abab格式字符
我们开发过程中,经常用到正则表达式来匹配想要的字符串,或者从一段文本中提取想要的关键字,比如爬虫应用等。正则表达式是对字符串提取的一套规则,我们把这个规则用正则里面的特定语法表达出来,去匹配满足这个规则的字符串。正则表达式具有通用型,不仅java里面可以用,其他的语言也一样适用。
356 0
Java正则表达式匹配aabb、abab格式字符
用#替换字符
给定一个由大小写字母构成的字符串。 把该字符串中特定的字符全部用字符 # 替换。
92 0
字符串加空格
给定一个字符串,在字符串的每个字符之间都加一个空格。 输出修改后的新字符串。
125 0
忽略大小写比较字符串大小
一般我们用 strcmpstrcmp 可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按 ASCII 码值大小比较),直到出现不同的字符或遇到 \0 为止。 如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准。 但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如 Hello 和 hello 在忽略字母大小写时是相等的。 请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。
276 0
|
C++
正则表达式 - 匹配任何字符(包括换行符)
正则表达式 - 匹配任何字符(包括换行符)
521 0