章工运维 章工运维
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)

章工运维

业精于勤,荒于嬉
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)
  • linux

    • rsync

    • dns

    • sed、awk、grep、find四剑客

      • sed命令在文本每行,行尾或行首添加字符
      • 日志分析
      • grep参数使用示例
        • sed常用参数和使用示例
        • awk常用参数和使用示例
      • LVM管理
      • sudo权限规划
      • linux修改网卡为eth0的两种方法
      • Logrotate入门了解及生产实践
      • linux中用dd命令来测试硬盘读写速度
      • linux 阿里云盘挂载错误
      • CentOS7安装Android SDK
      • centos7安装更新git
      • linux启动顺序
      • centos7升级openssl
      • expect工具的安装和使用方法
      • linux下使用v2ray
      • centos7安装java环境的两种方式
      • linux-centos7系统设置时区及同步时间
      • rsyslog日志系统:rsyslog配置文件
      • rsyslog的安装、使用、详解
      • safe-rm防止删除重要的文件
      • linux如何获取打开文件和文件描述符数量
      • LVS集群-DR模式
      • linux服务器安装ffmpeg
      • linux服务器安装samba
      • 使用openssl创建自签发证书
      • linux服务器部署next.js服务
      • linux服务器ionice命令使用方式
      • linux服务器curl命令常用操作
    • windows

    • 中间件

    • 网络

    • 安全

    • 存储

    • 防火墙

    • 数据库

    • 系统

    • docker

    • other

    • 监控

    • 运维
    • linux
    • sed、awk、grep、find四剑客
    章工运维
    2024-07-24
    目录

    grep参数使用示例

    # -o 参数

    -o 参数用于只输出匹配的部分,而不是整行。这对于提取特定的模式或子字符串非常有用。

    # -P 参数

    -P 参数用于启用 Perl 兼容的正则表达式(PCRE)。这使得 grep 能够使用更强大的正则表达式语法和功能。

    # 组合使用

    当这两个参数组合使用时,grep 会只输出符合 Perl 兼容正则表达式的匹配部分,而不是整行。

    # 示例

    假设你有以下日志行:

    T20192NLP34431157|000000|0000|T2249|out
    
    1

    你只想提取 T20192NLP34431157 和 T2249。你可以使用以下命令:

    echo "T20192NLP34431157|000000|0000|T2249|out" | grep -oP 'T20192NLP34431157|T2249'
    
    
    1
    2

    这个命令的解释如下:

    • echo "T20192NLP34431157|000000|0000|T2249|out":将日志行输出到标准输出。
    • |:将前一个命令的输出传递给下一个命令。
    • grep -oP 'T20192NLP34431157|T2249':只输出匹配到的 T20192NLP34431157 和 T2249。

    输出将是:

    T20192NLP34431157
    T2249
    
    1
    2

    这样,你可以使用 grep -oP 来提取日志中的特定模式。

    # -E 参数(扩展正则表达式)

    -E 启用扩展正则表达式(Extended Regular Expressions, ERE)。扩展正则表达式提供了更丰富的语法,支持更复杂的模式匹配,且相对于基本正则表达式(BRE)更为简洁。

    特点:

    • 支持使用括号 () 进行分组
    • 支持使用竖线 | 进行或运算
    • 支持使用加号 + 进行一次或多次匹配
    • 支持问号 ? 表示前一个字符零次或一次
    • 支持花括号 {} 指定匹配的次数

    示例:

    grep -E "error (warn|info)" file.txt
    
    
    1
    2

    匹配包含 "error warn" 或 "error info" 的行。

    # -i:忽略大小写参数

    grep -i "pattern" file.txt
    
    1

    # -v:反向匹配(显示不包含模式的行)

    grep -v "pattern" file.txt
    
    
    1
    2

    # -r:递归搜索目录

    grep -r "pattern" /path/to/directory
    
    
    1
    2

    # -l:只列出匹配的文件名

    grep -l "pattern" *.txt
    
    
    1
    2

    # -c:计数匹配的行数

    grep -c "pattern" file.txt
    
    
    1
    2

    # -n:显示匹配行的行号

    grep -n "pattern" file.txt
    
    
    1
    2

    # -H:显示匹配的文件名

    grep -H "pattern" file.txt
    
    1

    # -A num:显示匹配行及其后面 num 行

    grep -A 3 "pattern" file.txt
    
    
    1
    2

    # -B num:显示匹配行及其前面 num 行

    grep -B 3 "pattern" file.txt
    
    
    1
    2

    # -C num:显示匹配行及其前后 num 行

    grep -C 3 "pattern" file.txt
    
    
    1
    2

    # -e pattern:指定多个匹配模式

    grep -e "pattern1" -e "pattern2" file.txt
    
    
    1
    2

    # -f file:从文件读取匹配模式

    grep -f patterns.txt file.txt
    
    
    1
    2

    # -w:匹配整个单词

    grep -w "word" file.txt
    
    
    1
    2

    # -x:匹配整行

    grep -x "exact line" file.txt
    
    
    1
    2

    # --color:高亮显示匹配部分

    grep --color "pattern" file.txt
    
    
    1
    2
    微信 支付宝
    上次更新: 2024/07/24, 20:56:50

    ← 日志分析 sed常用参数和使用示例→

    最近更新
    01
    shell脚本模块集合
    05-13
    02
    生活小技巧(认知版)
    04-29
    03
    生活小技巧(防骗版)
    04-29
    更多文章>
    Theme by Vdoing | Copyright © 2019-2025 | 点击查看十年之约 | 鄂ICP备2024072800号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式