每天一个Linux命令-grep

本文详细介绍了grep命令的主要参数及其使用方法,包括如何进行大小写敏感匹配、精准匹配、单词匹配等高级搜索技巧。此外还深入探讨了正则表达式的应用,如使用字符类、位置锚点等来提高搜索效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

grep

[options]主要参数:

    -c:只输出匹配行的计数。
    -i:进行匹配时不区分大小写(只适用于单字符)
    -h:查询多文件时只输出匹配的字符,不显示文件名
    -l:查询多文件时只输出匹配字符的文件名
    -L:查询多文件时只输出不匹配字符的文件名
    -n:显示匹配行及 行号。
    -s:不显示不存在或无匹配文本的错误信息。
    -v:显示不包含匹配文本的所有行。
    -o:输出精确匹配的字符而不是默认的整行,不能和-v 一起用
    -w:只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’)
    -B: 除了显示匹配的一行之外,并显示改行之前的num行
    -A: 除了显示匹配的一行之外,并显示改行之后的num行
    -C: 除了显示匹配的一行之外,并显示改行之前后的num行
    -E: 匹配多个字符串 (大写的E)

正则表达式:

这里写图片描述

这里写图片描述

标准字符类:
这里写图片描述
常用grep实例

  1. 多个文件查询
    grep “str” *.doc

  2. 输出匹配行的计数
    grep -c “str” data.doc

  3. 显示匹配的行以及行数
    grep -n “str” data.doc

  4. 显示非匹配的行
    grep -v “str” data.doc

  5. 大小写敏感匹配
    grep -i “Ab” data.doc

  6. 精准匹配
    grep -o “str” data.doc

  7. 单词匹配
    grep -w “str” data.doc

  8. 多项匹配
    grep -E “str1|str2” data.doc

正则表达式的应用

  1. [] 和 .的使用
    grep ‘[239].’ data.doc #输出所有含有2或者3或者9 + 任意字符的行
    grep ‘[vV]ick’ data.doc #输出所有含有vick或者Vick的行

  2. ^
    grep ‘^[^48]’ data.doc #匹配行首不是48的行


  3. grep ‘abc$’ data.doc #匹配行尾是abc的行

  4. ^¥(应该是美元符)
    grep ‘^..$’ data.doc #匹配只有两个任意字符的行

  5. {}
    grep ‘abc{3}’ data.doc #匹配满足abcccc的行

  6. \
    grep ‘192\.168\.0\.1’ data.doc #对特殊字符进行转义

  7. 类名
    grep ‘5[[:upper:]][[:upper:]]’ data.doc #匹配以5开头以两个大写字母结尾的行

未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值