参考百度百科

1、简介

grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行

2、语法

grep [OPTIONS] PATTERN [FILE…]

3、表达符集

字符 说明 示例
^ 锚定行的开始 '^grep'匹配所有以grep开头的行
$ 锚定行的结束 'grep$'匹配所有以grep结尾的行
. 匹配一个非换行符('\n')的字符 'gr.p'匹配gr后接一个任意字符,然后是p
* 匹配零个或多个先前字符 ' *grep' (注意*前有空格)匹配所有零个或多个空格后紧跟grep的行,需要用egrep 或者grep带上 -E 选项。 .*一起用代表任意字符。
[] 匹配一个指定范围内的字符 '[Gg]rep'匹配Grep和grep
[^] 匹配一个不在指定范围内的字符 '[^A-FH-Z]rep'匹配不包含A-F和H-Z的一个字母开头,紧跟rep的行
\(..\) 标记匹配字符 '\(love\)',love被标记为1
\< 锚定单词的开始 '\<grep'匹配包含以grep开头的单词的行
\> 锚定单词的结束 'grep\>'匹配包含以grep结尾的单词的行
x\{m\} 重复字符x,m次 'o\{5\}'匹配包含5个o的行
x\{m,\} 重复字符x,至少m次 'o\{5,\}'匹配至少有5个o的行
x\{m,n\} 重复字符x,至少m次,不多于n次 'o\{5,10\}'匹配5--10个o的行
\w 匹配文字和数字字符,也就是[A-Za-z0-9] 'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p
\W \w的反置形式,匹配一个或多个非单词字符,如点号句号等  
\b 单词锁定符 '\bgrep\b'只匹配grep
\+ 匹配一个或多个先前的字符 '[a-z]\+able',匹配一个或多个小写字母后跟able的串,如loveable,enable,disable等
\? 匹配零个或一个先前的字符 'gr\?p'匹配gr后跟一个或没有字符,然后是p的行
a\|b\|c 匹配a或b或c grep|sed匹配grep或sed
\(\) 分组符号 love\(ab\le\|rs\)ov\+匹配loveable或lovers,匹配一个或多个ov

4、参数

参数 说明
-? 同时显示匹配行上下的?行
-b 打印匹配行前面打印该行所在的块号码
-c 只打印匹配到的行数(统计行数),不显示匹配的内容
-f File 从文件中提取模板。空文件中包含0个模板,所以什么都不匹配
-h 当搜索多个文件时,不显示匹配文件名前缀
-i 忽略大小写差别
-o 只显示正则表达式匹配的
-q 取消显示,只返回退出状态。0则表示找到了匹配的行,1为未匹配到,2为发生错误
-n 在匹配的行前面打印行号
-s 不显示关于不存在或者无法读取文件的错误信息(少用,一般将标准错误输出到/dev/null)
-v 反检索,只显示不匹配的行
-R,-r 递归的读取目录下的所有文件,包括子目录
-V 显示软件版本信息
-A6 查找某些字符的内容,并下延伸6行
-B6 查找某些字符的内容,并上延伸6行
-C1 查找某些字符的内容,并上和向下各延伸1行,这几行后面的数字直接影响延伸数量,并以--符号分割搜索行的结果

5、实例

匹配除包含 [ 特殊字符外的进程

ps -ef | grep -v '\['

grep 文本搜索工具的更多相关文章

  1. [linux] grep 文本搜索工具

    grep [option] pattern file Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.grep全称是Global Regular ...

  2. grep文本搜索工具详解

    ############grep命令############这个命令属于文本处理三大命令之一,强大的文本搜索工具(贪婪模式)全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达 ...

  3. 二、grep文本搜索工具

    grep命令作为Unix中用于文本搜索的神奇工具,能够接受正则表达式,生成各种格式的输出.除此外,它还有大量有趣的选项. # 搜索包含特定模式的文本行: [root@centos8 ~]#grep p ...

  4. grep文本处理工具

    grep是一款文本过滤工具,基于正则表达式进行模式匹配sed:stream editor 流编辑器awk:linux上实现为gawk,文本报告生成器(格式化文本)文本搜索工具,根据用户指定的模式,对目 ...

  5. shell脚本学习指南-grep文本搜索命令-学习(3)

    1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全 ...

  6. shell脚本基础和grep文本处理工具企业应用3

    文本处理工具:    linux上文本处理三剑客        grep,egrep,fgrep:文本过滤工具(模式:pattern)工具            grep:默认支持的是基本正则表达式: ...

  7. 基于文本图形(ncurses)的文本搜索工具 ncgrep

    背景 作为一个VIM党,日常工作开发中,会经常利用grep进行关键词搜索,以快速定位到文件.如图: 利用grep进行文本搜索 但是,这一过程会有两个效率问题: 展示的结果无法进行直接交互,需要手动粘贴 ...

  8. shell脚本基础和grep文本处理工具企业应用4

    文本处理工具:    egrep:        支持扩展的正则表达式实现类似于grep文本过滤功能:grep -E        egrep [OPTIONS] PATTERN [FILE...]  ...

  9. 系统资源监控——联用awk与grep文本处理工具,截取磁盘使用量字段

    一.使用到的命令行 1.df : df -h #将磁盘使用量用表的形式呈现. 2.awk: awk '{print $5}' #默认分隔符是空格,$后的数字是指定从第几列开始截取. awk -F [] ...

  10. grep命令 一 文本搜索工具

    使用正则表达式搜索文本,并把匹配的行打印出来.使用权限是所有用户. 基本使用 grep [option] pattern filename: pattern如果是表达式或者超过两个单词的, 需要用引号 ...

随机推荐

  1. 编译wasm Web应用

    刚学完WebAssembly的入门课,卖弄一点入门知识. 首先我们知道wasm是目标语言,是一种新的V-ISA标准,所以编写wasm应用,正常来说不会直接使用WAT可读文本格式,更不会用wasm字节码 ...

  2. .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试

    2023年11月15日,对.net的开发圈是一个重大的日子,.net 8.0正式版发布. 圈内已经预热了有半个月有余,性能不断超越,开发体验越来越完美,早在.net 5.0的时候就各种吹风Aot编译, ...

  3. vim的各种快捷键

    目录 一.准备一份用于练习的文件 二.命令模式下的快捷键 1.移动光标 2.删除文字 3.复制粘贴 4.撤销上一次操作 5.恢复上一次撤销的操作 6.查找 7.替换单个字符 8.光标移动到最左边 9. ...

  4. vertx的学习总结2

    一.什么是verticle verticle是vertx的基本单元,其作用就是封装用于处理事件的技术功能单元  (如果不能理解,到后面的实战就可以理解了) 二.写一个verticle 1. 引入依赖( ...

  5. springcloud+nacos项目启动后,登陆连接服务器时超时:Connection timed out no further information

    问题现象:项目启动后,登陆连接服务器时超时:Connection timed out no further information 192.168.42.190:4004 原因:我的配置有问题,在na ...

  6. AntDesignBlazor示例——分页查询

    本示例是AntDesign Blazor的入门示例,在学习的同时分享出来,以供新手参考. 示例代码仓库:https://gitee.com/known/BlazorDemo 1. 学习目标 分页查询框 ...

  7. 【笔记整理】[案例]使用正则表达式来提取36Kr新闻

    import datetime import json import re import requests class Kr36(object): def __init__(self): self.u ...

  8. 如何 使 Java、C# md5 加密的值保持一致

    Java C# md5 加密值保持一致,一般是编码不一致造成的值不同 JAVA (加密:123456) C#(加密:123456) UTF-8 e10adc3949ba59abbe56e057f20f ...

  9. 【eBPF-02】入门:基于 BCC 框架的程序进阶

    本文是 eBPF 系列的第二篇文章,我们来学习 eBPF BCC 框架的进阶用法,对上一篇文章中的代码进行升级,动态输出进程运行时的参数情况. 主要内容包括: 通过 kprobe 挂载内核事件的 eB ...

  10. Intellij IDE 对接SVN

    1.安装SVN(SVN安装包见附件) 注意安装时需要选择第二个选项进行安装 2.安装SVN中文包(见附件) 安装完成后随便找个文件夹右键确认SVN安装是否生效 3.Intellij IDE得Setti ...