shell中的   中文和英文   双引号

使用sed替换文本中的字符时,添加字符时不小心添加了个中文的双引号,结果替换时,总是不能将其替换掉。

文件名称为a.txt,文本内容如下:

“”
https://www.baidu.com/

想把“”替换掉,使用命令sed -i ‘s#""##g‘ a.txt 总是替换不掉,在这里可以一眼看出是两种不同的双引号,但在shell里不容易注意到,想着是不是需要转义字符,使用转义字符也不行。

最后发现命令中的双引号似乎比文本内容中的站的比较直,恍然大悟,估计是英文和中文引号造成的。将文本中的双引号复制粘贴到命令中,果然能替换了。

当碰到符号出现问题时,要注意中英文的差别

时间: 2024-08-09 23:56:03

shell中的   中文和英文   双引号的相关文章

C语言中的单引号和双引号含义

C语言中的单引号和双引号含义迥异, 用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值,因此,采用ASCII字符集的编译器而言,'a'的含义与0141或97严格一致. 而用双引号引起的字符串,代表的却是一个指向无名数组起始字符的指针,该数组被双引号之间的字符以及一个额外的二进制值为零的字符'\0'初始化.

js、html中的单引号、双引号及其转义使用

js.html中的单引号.双引号及其转义使用在js中对相关字符做判断或取值的时候很多情况下都会用到这些. ------ 在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:<input value="Test" type="button" onclick="alert(""OK"");" />IE提示出错后,再漫不经心地改为:<input value="Test&

浅析Js中的单引号与双引号问题

单引号中不能嵌套单引号 双引号中不能嵌套双引号 <input type="button" onclick="alert("1")">-------------------不正确 <input type="button" onclick="alert('1')">-------------------正确 双引号中再用双引号要这样: var str = "abc\"

后端向前端页面发送变量的方法,可以包含特殊字符(如英文双引号)

后端向前端页面发送变量,如果变量没有特殊字符,如英文的双引号等可以直接在前端使用 var value="<%=this.IsHuaMedicineAlertMsg.ToString().ToLower() %>"这种方式输送给前端, 但如果变量有特殊字符,如英文的双引号(一般是一段html片段,可能会包含样式等会有英文双引号),就不能用上面的方法了, 这时就需要后台把这个字符进行序列号再抛给前端来使用,这样也不用在前端再写接收后端变量的代码, 这样可行的原理是因为序列号时会

linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别

一.单引号和双引号 首先,单引号和双引号,都是为了解决中间有空格的问题. 因为空格在Linux中时作为一个很典型的分隔符,比如string1=this is astring,这样执行就会报错.为了避免这个问题,因此就产生了单引号和双引号.他们的区别在于,单引号将剥夺其中的所有字符的特殊含义,而双引号中的'$'(参数替换)和'`'(命令替换)是例外.所以,两者基本上没有什么区别,除非在内容中遇到了参数替换符$和命令替换符`. 所以下面的结果:num=3echo '$num'$numecho "$n

linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)(转)

" "(双引号)与 ' '(单引号)的区别  你在shell prompt后面敲打键盘.直到按下enter的时候,你输入的文字就是command line了,然后shell才会以进程方式执行你所提交的命令.但是,你又可知道:你在command line输入的每一个文字,对shell来说,有什么类别之分呢? 简单而言,command line的每一个charactor分为如下两种:   *literal:也就是普通纯文字,对shell来说没有特殊功能.   *meta:对shell来说,

shell中的单引号、双引号、反引号

在shell中引号分为三种:单引号,双引号和反引号. 单引号 ' 由单引号括起来的字符都作为普通字符出现.特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释.单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号.(注意是所有,只是单引号本身不能够出现在其中). 例如: $ string='$PATH' $ echo $string $PATH $ 可见$保持了其本身的含义,作为普通字符出现. 双引号 " 双引号用于保持引号内所有字符的字面

shell中的单引号和双引号的区别

对于常规的字符串定义变量值应添加双引号,并且等号后不能 有空格,需要强引用的,则需要单引号,需要命令引用的使用反引号. 单引号:所见即所得,即输出时会将单引号内的所有内容都原样输出,或者描述为单引号里面看到的什么就输出什么,这成为强引用. 双引号:输出双引号的所有内容:如果内容中有命令(要反引).变量.特殊转义,会先把变量.命令.转义字符解析出结果,然后在输出最终内容,这称为弱引. 反引号:一般用于命令,执行的时候命令会被执行,相当于$(),赋值和输出都要用反引号引起来. [[email pro

linux shell中,单引号、 双引号,反引号(``),$()的区别

一.单引号和双引号 首先,单引号和双引号,都是为了解决中间有空格的问题. 空格在linux中时作为一个很典型的分隔符,比如 string1=this is a string,这样执行会报错.为了避免这个问题,因此就产生了单引号和双引号.他们的区别在于,单引号将剥夺其中的所有字符的特殊含义,而双引号中 的'$'(参数替换)和'`'(命令替换)是例外.所以,两者基本上没有什么区别,除非在内容中遇到了参数替换符$和命令替换符`. 看下面的例子:num=3echo ‘$num’$numecho “$nu