Linux命令:grep后的单引号与双引号区别

目录

一、理论

1.grep

二、区别

1.单引号

2.双引号

3.对比

三、实验


一、理论

1.grep

(1)grep解释

grep (Globally search a Regular Expression and Print)): 全局搜索一个正则表达式,并且打印到屏幕。简 单来说就是,在文件中查找关键字,并显示关键 字所在行。

(2)grep的常用选项

-i:查找时不区分大小写 加不加都一样

-v:显示不包含匹配文本的所有行(反向查询,反 向匹配)

-n:显示匹配行及行号

-c:只输出匹配到的总行数(不是匹配到的次 数)

-e:实现可多个查找条件的匹配,逻辑or关系

-E:支持使用扩展正则表达式,相当于使用 egrep命令

二、区别

1.单引号

单引号''是全引用,被单引号括起的内容不管是常量还是变量者不会发生替换。

‘’号里面的所有字符都保持原样

2.双引号

双引号""是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换,替换成变量内容。

“”号里面遇到$,\等特殊字符会进行相应的变量替换。

3.对比

(1)引用内容不同

常量用单引号''括起,如果含有变量则用双引号""括起。

单引号与双引号的最大不同在于双引号仍然可以保有变数的内容,但单引号内仅能是一般字元 ,而不会有特殊符号。

(2)特殊字符

     ①   $ 美元符

     ②   \ 反斜杠

     ③   ` 反引号

     ④   " 双引号
这四个字符在双引号中是具有特殊含义的,其他都没有,而单引号使所有字符都失去特殊含义。

三、实验

1.查找一个\

(1)grep "\\" file 

grep: Trailing backslash(不知原因)

 (2) grep "\\\\" file

shell把四个\,转义成2个\传递给grep,grep再把2个\转义成一个\查找

(3)grep '\\' file   

查找‘\’字符

shell没转义,直接把2个\传递给grep,grep再把2个\转义成一个\查找


 

 2.查找一个a

(1) grep "$a" file

(2) grep '$a' file  

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值