zoukankan      html  css  js  c++  java
  • grep查找文件内容单双引号用法的区别

    1、单引号:全引用。shell命令不做转义处理。

    2、双引号:部分引用。shell命令会做转义处理。优先解析命令和变量。

    3、不加引号:效果等同于双引号的作用,优先解析命令和变量。

    需要转义的特殊字符:\,$等

    1、查找特殊字符举例:

    1.1、查找字符

    grep '\' test.log  # 单引号全引用,shell不做转义处理;\———shell——\——grep————>查找 
    # \ shell不做转义处理传递给grep,grep做转义处理为,拿去查找字符
    grep "\\" test.log # 双引号部分引用,shell做特殊字符的转义处理;\\———shell——\——grep————>查找 
    # \\ shell做转义处理为\传递给grep,grep做转义处理为\,拿去查找字符

    1.2、查找$字符

    grep '$' test.log  # 单引号全引用,shell不做转义处理;
    # $ shell不做转义处理传递给grep,grep做转义处理为$,拿去查找$字符
    grep "\$" test.log # 双引号部分引用,shell做特殊字符的转义处理;
    # \$ shell做转义处理为$传递给grep,grep做转义处理为$,拿去查找$字符

    2、查找单双引号举例:

    2.1、查找单引号'name'

    grep "'name'" test.log
    # 如果用单引号方式去查找,无论外面嵌套多少层单引号,都只能匹配出name,而不是'name'

    2.2、查找双引号"age"

    grep '"age"' test.log
    # 如果用双引号方式去查找,无论外面嵌套多少层双引号,都只能匹配出age,而不是"age"

    对于单双引号同时存在需要匹配的情况下,比较简单粗暴的处理方式就是用单引号方式查找,查找字符里的单双引号均用.(点号)去匹配。

    grep '.name.' test.log
    grep '.age.' test.log
  • 相关阅读:
    [BZOJ3195][Jxoi2012]奇怪的道路
    [codeforces696B]Puzzles
    [codeforces464D]World of Darkraft
    [COGS1000]伊吹萃香 最短路
    [BZOJ4653][NOI2016]区间 贪心+线段树
    [BZOJ4540][HNOI2016]序列 莫队
    [BZOJ4870][Shoi2017]组合数问题 dp+矩阵乘
    Loj 2005 相关分析
    Loj 114 k大异或和
    bzoj 2212 Tree Rotations
  • 原文地址:https://www.cnblogs.com/hongdanni/p/14468369.html
Copyright © 2011-2022 走看看