美文网首页
Linux命令三剑客之Grep

Linux命令三剑客之Grep

作者: 愿时光温柔待她 | 来源:发表于2018-12-04 20:57 被阅读0次

    grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)

    grep [-acinv] [--color=auto] '匹配字符串' filename
    

    -a :将 binary 文件以 text 文件的方式搜寻数据
    -c :计算匹配次数
    -i :忽略大小写的不同
    -n :输出行号
    -v :反向选择,no match
    --color=auto :高亮匹配到的关键字
    -A2 : 顺便显示匹配字符串下两行
    -B2 : 顺便显示匹配字符串上两行
    -2 : 顺便显示匹配字符串上下两行

    grep 可以使用 --color=auto 来将关键字部分使用颜色显示
    ~/.bashrc

    alias grep='grep --color=auto'
    
    grep 'search_pattern' *  #当前目录中搜索
    grep -r 'search_pattern' *  #当前目录及其子目录中搜索
    grep -l -r ‘search_pattern’ * #当前目录及其子目录中搜索,不显示匹配行,只显示匹配的文件
    

    grep 与正则表达式

    [] 里不论几个字母,只匹配一个字母

    grep -n 't[ea]st' 
    

    字符类的反向选择 [^] , 想要匹配带有oo的行,但不想要oo前面有g

    grep -n '[^g]oo' regular_express.txt
    

    匹配行首,行尾

    grep -n '^the' regular_express.txt # ^匹配行首,$匹配行尾
    grep -n '^$' regular_express.txt #匹配空白行
    

    . (小数点): 代表一定有一个任意字母 !
    *(星号):重复前一个字母,0 到无穷多次

    相关文章

      网友评论

          本文标题:Linux命令三剑客之Grep

          本文链接:https://www.haomeiwen.com/subject/ojnvcqtx.html