grep 后加单引号、双引号和不加引号的区别
环境:VirtualBox4.1 + RedHat Linux 6 + Putty0.62
单引号:
可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么。单引号''是全引用,被单引号括起的内容不管是常量还是变量者不会发生替换。
双引号:
把双引号内的内容输出出来;如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来。双引号""是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换,替换成变量内容。
不加引号:
不会将含有空格的字符串视为一个整体输出,如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来,如果字符串中带有空格等特殊字符,则不能完整的输出,需要改加双引号,一般连续的字符串,数字,路径等可以用。
使用规则:
一般常量用单引号''括起,如果含有变量则用双引号""括起。
最大不同:
单引号与双引号的最大不同在于双引号仍然可以保有变数的内容,但单引号内仅能是一般字
元,而不会有特殊符号
使用举例:
“”号里面遇到$,\等特殊字符会进行相应的变量替换
‘’号里面的所有字符都保持原样
对于字符串,两者相同
匹配模式也大致相同
但有一些区别非常容易混淆
grep "$a" file #引用变量a,查找变量a的值
grep '$a' file #查找“$a”字符串
grep "\\" file #grep: Trailing backslash(不知原因)
grep '\\' file #查找‘\’字符
1、$美元符
2、\反斜杠
3、`反引号
4、" 双引号
这四个字符在双引号中是具有特殊含义的,其他都没有,而单引号使所有字符都失去特殊含义
如果用双引号,查找一个\,就应该用四个\:
grep "\\\\" file这样就对了,这样等同于:
grep '\\' file
第一条命令shell把四个\,转义成2个\传递给grep,grep再把2个\转义成一个\查找
第二条命令shell没转义,直接把2个\传递给grep,grep再把2个\转义成一个\查找
其实grep执行的是相同的命令。
参考资料:
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=218853&page=4
http://bbs.chinaunix.net/thread-588454-1-1.html
http://hi.baidu.com/michael7768/blog/item/33e6c15295e9c2160cf3e391.html
http://sunyu.blog.51cto.com/744725/799589
grep 后加单引号、双引号和不加引号的区别相关推荐
- ajax post 传参数加引号和不加引号的区别
1.前言 用ajax技术,type:post,data:参数列表.参数列表就是一个JSON数据,但key可以加引号,也可以不加引号,那总有区别的. 2.区别 var d2 = "two&qu ...
- linux给变量加单引号,单引号、双引号和不加引号区别
把内容输出出来,可能不会将含有空格的 说一下单引号.双引号和不加引号区别总结说明: 单引号: 可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么. 双引号: ...
- sql 单引号,双引号的灵活应用指南
sql 单引号,双引号,多用在Insert字符串中,使用中经常遇到因为数据类型和变量而发生的奇怪的小问题. 用到的表格: 数据表:test_tab 字段1 username 字符串型(姓名) 字段2 ...
- Shell中 单引号(‘‘) 双引号(““) 反引号(``) $() 的区别
字符串与引号 Shell 的模型就是标准的字符流过滤器模型,简单来说,就是一条命令把结果送到标准 输出,这个标准输出被连接到下一个命令的标准输入,由此来实现一系列命令之间的联动. 每一个命令的输出都是 ...
- 小白爬坑记:C语言学习点滴——我对单、双引号的理解
小白爬坑记:C语言学习点滴--我对单.双引号的理解 一.单引号的作用: 二.双引号的作用: 三.字符或字符串容易犯的错误: 三.做个小题: 一.单引号的作用: 将单引号中间的所有符号直接转换为ASCI ...
- Excel实现给加单引号,以及加逗号
使用公式: 只单纯加单引号: ="'"&A1&"'" 加单引号和逗号: ="'"&A1&"'&qu ...
- javascript中字符串的‘单‘与“双“引号
通常在使用 javascript 进行编码时,您会遇到对字符串使用"单"或"双"引号的情况,并且想知道两者之间是否有任何真正的区别,如果有,使用一个是否有优势其 ...
- excel操作每个字段都加单引号,且以逗号分隔
excel每个字段都加单引号,且以逗号分隔excel选中某一空白列,然后输入公式如下: ="('"&A1&"', '"&B1&& ...
- echo命令 单引号,双引号,不加引号和反引号 的区别
不加引号:字符串原样输出,变量会被替换.(根双引号一样,唯一的不同在于 \ 和 空格) 单引号:引号里面的内容会原封不动的显示出来(很简单,不做解释) 双引号:里面的特殊符号会被解析,变量也会被替换( ...
最新文章
- NeurIPS 2019 少样本学习研究亮点全解析
- 提高你30%的设计效率的PPT快捷键
- 【思维导图】脑机音乐接口,高效检测用户的情绪状态
- nginx、fastCGI、php-fpm关系梳理(转载参考)
- php远程连接403,php中出现“ HTTP 异常 403 - 禁止访问”解决方法 总结
- 【CF487E】Tourists【圆方树】【树链剖分】【multiset】
- 【转】WPF 入门《常用控件》
- ubuntu下搭建android开发环境(转载)
- DeepFaceLab报错,CUDA driver is insufficient 解决方法!
- win7误删计算机,Win7系统下文件数据被误删了怎么办
- Javascript特效代码大全(420个)(转)
- xvid编码器的弹出窗口解决方法
- 山东教师教育网博客空间--(他人博客)
- 《科学》:基因编辑婴儿入选年度“科学崩坏”事件
- java 多线程(四)—— 线程同步/互斥=队列+锁
- Docker容器之间数据传输
- ES6----promise方法解决回调地狱问题
- 网友对spring.net的理解:(为什么要用晦涩难懂的spring?)
- MySQL - 21查询分析器EXPLAIN
- shell一键生成密钥脚本
热门文章
- 非局部均值去噪(NL-means)
- Java面试必问!javasocket服务端持久化
- 程序隐藏助手下载//老板键下载//上班开小差工具
- 为何新疆的股权投资企业所得税是12%,个人所得税是16%
- maven跳过Test进行打包
- 局域网网盘 构建局域网网盘
- Day4-Mybatis框架(多表的关联查询)
- 数据结构------双向带头循环链表
- laya引擎学习(二、第一个界面)
- fopen是python内置函数吗_Python内置的open函数,打开文件的时候可能会产生异常_学小易找答案...