• grep正则表达式后面的单引号和双引号的区别


    单引号''是全引用,被单引号括起的内容不管是常量还是变量者不会发生替换;
    双引号""是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换,替换成变量内容!

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

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

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

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

    对于字符串,两者相同

    匹配模式也大致相同

    但有一些区别非常容易混淆

    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执行的是相同的命令。

  • 相关阅读:
    servlet 与缓存(4)
    向架构师进军--->系统架构设计基础知识
    sql语法:inner join on, left join on, right join on具体用法
    关于sources.list和apt-get [转载]
    SoftReference
    MFC 之 截图工具
    Outlook Express 收发邮件出现"0x800CCC0F"错误代码解决方法
    使用ffmpeg视频编码过程中踩的一个坑
    Libgdx环境搭建及介绍
    从简单的信道预计说起
  • 原文地址:https://www.cnblogs.com/DjangoBlog/p/4303515.html
Copyright © 2020-2023  润新知