shell编程之内容查找grep

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
    

    grep-n

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

    grep -c 'oo' /etc/passwd
    

    grep-c

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

    grep -vn 'oo' /etc/passwd
    

    grep-v

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

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

    grep-E

参考文献

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

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

技术茶话会

本篇文章由一文多发平台ArtiPub自动发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值