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. Arraylist集合、对象数组

    Arraylist集合 ArrayList是List接口的一个实现类,它是程序中最常见的一种集合. 他的特点:在增加或删除指定位置的元素时,会创建新的数组,效率比较低,因此不适合做大量的增删操作,Ar ...

  2. 2022年Web前端开发流程和学习路线(详尽版)

    前言 前端侧重于人机交互和用户体验,后端侧重于业务逻辑和大规模数据处理.理论上,面向用户的产品里,所有问题(包括产品.设计.后端.甚至看不见的问题)的表现形式,都会暴露在前端,而只有部分问题(数据问题 ...

  3. mybatis踩过的坑

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...

  4. 使用navicat连接远程linux mysql数据库出现10061

    重启mysql服务 两种方式 1.使用 service 启动:service mysql restart 2.使用 mysqld 脚本启动:/etc/inint.d/mysql restart

  5. Java TIF、JPG、PNG等图片转换

    代码如下: public static void main(String[] args) { try { BufferedImage bufferegImage = ImageIO.read(new ...

  6. tail -f 、tail -F、tailf的区别

    三者经常在工作中会使用到,以下是三条命令的区别,帮忙大家理解:1.tail -f 等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止,但是不是断开. 2 ...

  7. git的工作原理和git项目创建及克隆

    Git基本理论(重要)三个区域Git本地有三个工作区域:工作目录(Working Directory).暂存区(Stage/Index).资源库(Repository或Git Directory).如 ...

  8. 关于C标准库stdarg.h

    看<数据结构(C语言版)>(严蔚敏)时看到p94上面va_list啥的,看不懂了,于是整理一下这一部分的知识. 1/当无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表. i ...

  9. vivo官网APP全机型UI适配方案

    vivo 互联网客户端团队- Xu Jie 日益新增的机型,给开发人员带来了很多的适配工作.代码能不能统一.apk能不能统一.物料如何选取.样式怎么展示等等都是困扰开发人员的问题,本方案就是介绍不同机 ...

  10. 【黄啊码】MySQL入门—3、我用select *,老板直接赶我坐火车回家去,买的还是站票

    大家好!我是黄啊码,学会了DDL语句了吗?那我们今天就来学习一下基本的查询语法,我见过很多外包机构的程序员都是万物皆可select *,然后项目跑了一段时间就基本跑不动了,问就回答:服务器配置不够,加 ...