GREP (Globally search a Regular Expression and Print,以正则表达式进行全局查找以及打印)是一种强大的文本搜索工具,它对匹配一个或多个正则表达式的文本进行搜索,并只输出匹配(或者不匹配)的行或文本。

简介

Unix 的 grep 家族包括 grep、egrep 和 fgrep。egrep 和 fgrep 的命令只跟 grep 有很小不同。egrep 是 grep 的扩展,支持更多的 re 元字符, fgrep 就是 fixed grep 或 fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示其自身的字面意义,不再特殊。Linux 使用 GNU 版本的 grep。它功能更强,可以通过 -G、-E、-F 命令行选项来使用 egrep 和 fgrep 的功能。

使用方法

  • 基本用法

    # 搜索原始字符串
    grep [-cinv] '搜索字符串' filename
    # 用正则表达式搜索字符串
    grep -E 'pattern' filename
    
  • 参数说明

    • -c 统计查找到字符串的次数
    • -i 忽略大小写
    • -n 显示查找字符串的行号
    • -v 反向选择
    • -E pattern中可以用扩展的正则表达式

样例演示

  • 在/etc/passwd中查找root字符串,并显示所在行号

    grep -n 'root' /etc/passwd
    

    shell编程之内容查找grep-LMLPHP

  • 在/etc/passwd中查找oo字符串出现的行次数

    grep -c 'oo' /etc/passwd
    

    shell编程之内容查找grep-LMLPHP

  • 在/etc/passwd中查找oo字符串未出现的行

    grep -vn 'oo' /etc/passwd
    

    shell编程之内容查找grep-LMLPHP

  • 在/etc/passwd中查找以b开头的字符串

    grep -E '^[b]' /etc/passwd
    

    shell编程之内容查找grep-LMLPHP

参考文献

  1. 维基百科grep
  2. grep源码

如果该文章对您产生了帮助,或者您对技术文章感兴趣,可以关注微信公众号: 技术茶话会, 能够第一时间收到相关的技术文章,谢谢!

shell编程之内容查找grep-LMLPHP


本篇文章由一文多发平台ArtiPub自动发布
03-09 21:03