grep的全部使用语法参照grep --help,日常工作常用的语法如下:
构造数据如下:test001.txt与test002.txt

一、在单个文件中查询指定字符串

grep abc  test01/test01.txt

查看结果如下:

 

二、在多个文件中查找指定字符串(并支持问文件通配符)

grep -i cdE ./*/*

 

三、过滤多个关键字:“与”和“或”(cat+管道+grep实现)

cat test01/test01.txt | grep ab |grep cd #同时包含ab与cd

cat test01/test01.txt | grep -E "ab|cd"  #包含ab或cd

 

四、查找的过程中忽略大小写(grep -i)

grep -i abcd */*

 

五、匹配完整的单词,而不是子串(grep -w)

grep -w ab */*

 

六、高亮grep的显示结果(grep --color=auto)

alias grep='grep --color=auto'

查看alias快捷命令是否已经添加过grep的高亮显示设置,否则添加以上的快捷指令 或直接带颜色查询

grep --color=auto abc test01/test01.txt

 

七、使用 -r 参数来实现递归的搜索目录(grep -r)

不使用递归时只能查询指令的目录下的文件,使用递归时可以逐层查询

grep -r abc ./*

 

八、取反搜索结果(grep -v)

grep  -v abc test01/test01.txt

 

九、取反(多个)指定模式的匹配结果

grep  -v -e ab -e cd  test01/test01.txt 

 

十、只显示匹配命中的文件名称,而不显示具体匹配的内容(grep -l)

grep -l abc test01/test01.txt

 

十一、显示匹配的字符串位置。该位置是相对于整个文件的字节位置,不是行数(grep -b)

grep -b abc test01/test01.txt

 

十二、显示匹配的字符串在文件中的行数(grep -n)

grep -n abc test01/test01.txt

十三、显示所匹配行的前后行信息(grep -A(after),grep -B(before),grep -C(可省略after+before))

grep -nw -A2 abcd test01/test01.txt  #-A之后n行
grep -nw -B2 abcd test01/test01.txt #-B之前n行
grep -nw -C2 abcd test01/test01.txt #-C前后n行
grep -nw -2 abcd test01/test01.txt #-C省略前后n行

 

十四、正则匹配以x开头(以y结尾)的字符

grep "^a" test01/test01.txt  #以a开头
grep "^a..d$" test01/test01.txt #以a开头以d结尾

 

 十五、统计复合结果条件的行数(grep -c)

grep -c ab test01/test01.txt

 

grep使用常用操作十五条的更多相关文章

  1. Python脚本控制的WebDriver 常用操作 <十二> send_keys模拟按键输入

    下面将使用WebDriver中的send_keys来模拟键盘按键输入 测试用例场景 send_keys方法可以模拟一些组合键操作: ctrl+a ctrl+c ctrl+v 等. 另外有时候我们需要在 ...

  2. Python脚本控制的WebDriver 常用操作 <十> 层级定位

    下面将使用WebDriver来模拟操作一个层级定位元素的操作 测试用例场景 在实际的项目测试中,经常会有这样的需求:页面上有很多个属性基本相同的元素,现在需要具体定位到其中的一个.由于属性基本相当,所 ...

  3. Python脚本控制的WebDriver 常用操作 <十九> 获取测试对象的状态

    下面将使用webdriver来模拟测试中观察测试对象的状态的操作 测试用例场景 在web自动化测试中,我们需要获取测试对象的四种状态 是否显示.使用element.is_displayed()方法: ...

  4. Python脚本控制的WebDriver 常用操作 <十六> 处理对话框

    下面将使用webdriver来处理一些页面跳出的对话框事件 测试用例场景 页面上弹出的对话框是自动化测试经常会遇到的一个问题.前端框架的对话框经常是div形式的,下面是一些常见的对话框操作事件: 打开 ...

  5. Python脚本控制的WebDriver 常用操作 <十五> 处理Navigation Bar

    下面将使用WebDriver来模拟操作:选择一个Navigation bar的选项 测试用例场景 Navigation Bar可以看作是简单的类似于tab的导航栏.一般来说导航栏都是ul+li.先定位 ...

  6. Python脚本控制的WebDriver 常用操作 <十四> 处理button dropdown 的定位

    测试用例场景 模拟选择下拉菜单中数据的操作 Python脚本 测试用HTML代码: <html> <body> <form> <select name=&qu ...

  7. Python脚本控制的WebDriver 常用操作 <十八> 获取测试对象的css属性

    测试用例场景 当你的测试用例纠结细枝末节的时候,你就需要通过判断元素的css属性来验证你的操作是否达到了预期的效果.比如你可以通过判断页面上的标题字号以字体来验证页面的显示是否符合预期.当然,这个是强 ...

  8. Linux 笔记 - 第十五章 MySQL 常用操作和 phpMyAdmin

    博客地址:http://www.moonxy.com 一.前言 前面几章介绍了 MySQL 的安装和简单的配置,只会这些还不够,作为 Linux 系统管理员,我们还需要掌握一些基本的操作,以满足日常管 ...

  9. Spring Boot入门系列(十九)整合mybatis,使用注解实现动态Sql、参数传递等常用操作!

    前面介绍了Spring Boot 整合mybatis 使用注解的方式实现数据库操作,介绍了如何自动生成注解版的mapper 和pojo类. 接下来介绍使用mybatis 常用注解以及如何传参数等数据库 ...

随机推荐

  1. 获得MySQL数据库存放位置

    更新记录 2022年6月13日 发布. 2022年6月11日 开始. 通过查看MySQL与存储目录相关的参数 show variables like '%dir%'; 通过查询后datadir参数的值 ...

  2. 基恩士的浓淡补正算法(Shading Correction Filter)的模拟实现。

    知道这个算法应该有很久了,主要当时在意2个事情,一个是这个名字的翻译是在是搞笑,第二是这个算法的效果.不过一直以来都十分好奇这个算法是怎么实现的.因为之前一直无法实际的用基恩士的软件平台用不同的图片去 ...

  3. CMU15445 (Fall 2019) 之 Project#1 - Buffer Pool 详解

    前言 这个实验有两个任务:时钟替换算法和缓冲池管理器,分别对应 ClockReplacer 和 BufferPoolManager 类,BufferPoolManager 会用 ClockReplac ...

  4. 鹏城杯 WEB_WP

    简单的PHP GET /?code=[~%8C%86%8C%8B%9A%92][~%CF]([~%9A%91%9B][~%CF]([~%98%9A%8B%9E%93%93%97%9A%9E%9B%9A ...

  5. 记一次重复造轮子(Obsidian 插件设置说明汉化)

    杂谈 #Java脚本 因本人英语不好在使用Obsidian时,一些插件的设置英文多令人头痛.故有写一个的翻译插件介绍和设置脚本的想法.看到有些前人写的一下翻译方法,简直惨目忍睹.竟然要手动.这个应该写 ...

  6. URL网络编程

    package com.atguigu.java1; import java.io.FileOutputStream; import java.io.IOException; import java. ...

  7. 如何等待ajax完成再执行相应操作

    ajax广泛应用于异步请求,对于大多数业务来说,这是十分方便的,但对于一些特殊的业务,ajax的异步性会起到相反的作用. 例如在ajax请求成功后,后续的操作需要依赖ajax执行成功后的相应操作. / ...

  8. 静态同步方法和解决线程安全问题_Lock锁

    静态的同步方法锁对象是谁?不能是thisthis是创建对象之后产生的,静态方法优先于对象静态方法的锁对象是本类的cLass属性-->class文件对象(反射) 卖票案例出现了线程安全问题 卖出了 ...

  9. DBPack 读写分离功能发布公告

    在 v0.1.0 版本我们发布了分布式事务功能,并提供了读写分离功能预览.在 v0.2.0 这个版本,我们加入了通过 UseDB hint 自定义查询请求路由的功能,并修复了一些 bug.另外,在这个 ...

  10. 低代码如何构建支持OAuth2.0的后端Web API

    OAuth2.0 OAuth 是一个安全协议,用于保护全球范围内大量且不断增长的Web API.它用于连接不同的网站,还支持原生应用和移动应用于云服务之间的连接,同时它也是各个领域标准协议中的安全层. ...