• linux grep命令详解


    grep命令(全称:global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是linux根据搜索关键字打印所在行信息的命令,比如我们可以通过以下命令查看文件中包含指定关键字的行信息:

    #从文件biz.log.2021-02-04中查找订单号“210204SHM004682D00006281”,并把结果输出到控制台
    grep "210204SHM004682D00006281" ./biz.log.2021-02-04
    

    执行结果如下:

    grep命令详细介绍

    ps命令的用法如下:

    grep [options] [--color=auto] "查找字符串" filename
    

    options表示命令参数,详细的参数列表如下:

    -A<显示行数> 除了显示'查找字符串'那一行,还显示该行之后指定的行数(A表示after),如:显示'查找字符串'那行及后面的3行,grep -A3 "aa" ./other.log
    -a 将binary文件以text文件的方式查找数据
    -B<显示行数> 除了显示'查找字符串'那一行,还显示该行之前指定的行数(B表示before),如:显示'查找字符串'那行及前面的3行,grep -B3 "aa" ./other.log
    -c 计算找到'查找字符串'的次数
    -E 可以搜索多个关键字,如:grep -E "aa|bb" ./other.log
    -e 可以搜索多个关键字,如:grep -e "aa" -e "bb" ./other.log
    -i 忽略大小写
    -n 输出行号
    -r 明确要求搜索子目录
    -v 反向输出,即输出不包含'查找字符串'的行
    --color=auto 执行结果中的'查找字符串'信息高亮显示(可以简写成--color

    实例操作

    1. 搜索多个关键字

    #在文件other.log中搜索包含“aa”或“bb",关键字高亮显示(2种方式)
    grep -E "aa|bb" --color ./other.log
    grep -e "aa" -e "bb" --color ./other.log
    #在文件other.log中搜索既包含“aa”又包含“bb”(这里管道符有关键作用)
    grep "aa" ./other.log|grep "bb"

    2. 搜索关键字所在行的前后n行

    #搜索关键字“aa”所在行的前后3行(2种方式)
    grep -A3 -B3 "aa" ./other.log
    grep -C3 "aa" ./other.log
    

     3. #搜索文件名中不包含数字,忽略子目录,文件中包含关键字20170706000100000000000023402625,关键字高亮显示

    find ./* ! -name "*[0-9]*" | xargs grep --color "20170706000100000000000023402625"
    
  • 相关阅读:
    leetcode 850. Rectangle Area II
    leetcode 699. Falling Squares 线段树的实现
    leetcode 847. Shortest Path Visiting All Nodes 无向连通图遍历最短路径
    leetcode 843. Guess the Word
    javaMail实现收发邮件(三)
    javaMail实现收发邮件(二)
    javaMail实现收发邮件(一)
    springboot整合websocket实现一对一消息推送和广播消息推送
    jieba分词/jieba-analysis(java版)
    java实现两个不同list对象合并后并排序
  • 原文地址:https://www.cnblogs.com/atai/p/14388983.html
Copyright © 2020-2023  润新知