zoukankan      html  css  js  c++  java
  • 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"
    
  • 相关阅读:
    进程和线程的主要区别
    Mysql 指定字段数据排序 以及django的实现
    java String
    阿里云 邮件发送(Python)
    Python实现类似JavaScript 的Json对象
    JAVA 学习笔记
    记录一个MySql 分区表+Gap锁引起插入超时的案例
    ThreadPoolExecutor源码中的适配器模式
    Oracle 查询真实执行计划
    简单分析FactoryBean
  • 原文地址:https://www.cnblogs.com/atai/p/14388983.html
Copyright © 2011-2022 走看看