grep

常用参数:

-c: 打印符合要求的行数

-i :忽略大小写

-n:输出行和行号

-v:打印不符合要求的行,即反选

-A:后跟数字(有无空格都可以),例如-A2 表示打印筛选行及前2行

-B:后跟数字,例如-B2表示打印筛选行及后2行

-C:后跟数字,例如-C2表示打印筛选行及前后各2行

-o:只打印符合要求的内容,而非整行

示例:

text.txt内容:

abc

123

efg

456

hij789

012ABC

Hello World

grep -c abc text.txt

1

grep -i abc text.txt

grep -n abc text.txt

grep -ivn abc text.txt

grep -A 2 abc text.txt

正则表达式

[0-9] 匹配所有数字

[03]  匹配0或者3

[0-9a-zA-Z] 匹配所有数字大小写字母

grep [0-9] text.txt

grep [1] text.txt

grep [a-zA-Z] text.txt

[^字符]表示除[]之外的字符。注意:此时将去除完全符合的行,混合内容不会去除

grep [^0-9] text.txt

通过反选,可以查看上次的结果grep -v [^0-9] text.txt

grep '[^r]oo' test.txt 打印不包含r,但包含oo的行

^表示行首,$表示行尾,空行用^$表示

grep '^[0-9]' text.txt 打印以数字开头的行

grep '[0-9]$' text.txt 打印以数字结尾的行

grep '^$' text.txt 打印空行

过滤任意一个字符与重复字符

. 表示任意一个字符 * 表示0或多个前面的字符 .*表示0或多个任意字符,空行也包含在内

grep 'r..t' file 把符合r和t之间有2个任意字符的行打印出来

grep 'ooo*' file oo,ooo,oooo....全部打印

指定要过滤字符出现的次数{n1,n2},其中n1小于n2,表示重复n1到n2次前面的字符,n2可以为空,表示大于等于n1次。这个命令结合-o使用,能够看到匹配结果

grep -o '1\{2\}'  text.txt

grep -o  '1\{3,5\}' text.txt

grep简单用法的更多相关文章

  1. centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课

    centos   shell脚本编程1 正则  shell脚本结构  read命令  date命令的用法  shell中的逻辑判断  if 判断文件.目录属性  shell数组简单用法 $( ) 和$ ...

  2. Shellz中awk的简单用法

    其实shell脚本的功能常常被低估.在实际应用中awk sed 等用法可以为shell提供更为强大的功能.下面我们将一下awk调用的简单方法进行了总结.方便同学们学习: awk的简单用法: 第一种调用 ...

  3. 文本三剑客之grep的用法

    第1章         正则表达式 1.1    正则表达式的介绍               正则是用来过滤文件内容               为处理大量文本|字符串而定义的一套规则和方法.    ...

  4. CATransition(os开发之画面切换) 的简单用法

    CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...

  5. jquery.validate.js 表单验证简单用法

    引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...

  6. NSCharacterSet 简单用法

    NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...

  7. grep的用法

    grep的用法首先创建我们练习grep命令时需要用到的demo文件demo_file. $ cat demo_file THIS LINE IS THE 1ST UPPER CASE LINE IN ...

  8. [转]Valgrind简单用法

    [转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...

  9. Oracle的substr函数简单用法

    substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串 subst ...

随机推荐

  1. generator插件配置方式使用

    generator插件配置方式使用 <build> <plugins> <plugin> <groupId>org.mybatis.generator& ...

  2. windows server 2008 R2 部署NFS,实现多台服务器间、客户端间的共享目录。

    如何通过Windows Server 2008 R2建立NFS存储服务? 通过Windows Server 2008 R2,我们可以很容易地将其作为一台NFS存储服务器,得到一个NFS软存储,轻松解决 ...

  3. 容器(container)

    一.容器有哪些 平时我们经常看到各种容器名称:Servlet容器.WEB容器.Java WEB容器.Java EE容器等 二.容器是什么 2-1     容器通常理解就是装东西的,我们这里说技术上的容 ...

  4. jdk1.8新特性----接口可以有方法体,子类可以不用重写接口中已实现的方法

    是的这就是jdk1.8新特性之一,刚刚看到. 注意:编译环境是1.8. public interface Tree { public static String name="树名" ...

  5. python------模块定义、导入、优化 ------->random模块

    2.random模块 #随机浮点数 random.random()   #生成0到1之间的随机浮点数,不能自己指定 random.uniform(1,10)   #可以指定 #随机整数 random. ...

  6. 使用python比较两个文件的不同之处

    比较两个文件的不同之处用处还是比较大的,特别是比较两个版本的不同之处 [root@localhost python]# cat diftest.py #!/usr/bin/python import ...

  7. Introducing Makisu: Uber’s Fast, Reliable Docker Image Builder for Apache Mesos and Kubernetes

    转自:https://eng.uber.com/makisu/?amp To ensure the stable, scalable growth of our diverse tech stack, ...

  8. C# 键盘响应事件及键值对照表

    键盘响应事件总结 键盘响应事件是在用户按下某个键后触发的事件,可以是任意操作,但不是任意键都可以被捕获的. 原型:public event KeyPressEventHandler KeyPress ...

  9. sql-索引的作用

    (一)深入浅出理解索引结构 何时使用聚集索引/非聚集索引 结合实际,谈索引使用的误区 其他书上没有的索引使用经验总结 其他注意事项 (二)改善SQL语句 (三)实现小数据量和海量数据的通用分页显示存储 ...

  10. Spring 框架的历史

    2002 年 10 月,Rod Johnson 撰写了一本名为 Expert One-on-One J2EE 设计和开发的书.本书由 Wrox出版,介绍了当时 Java 企业应用程序开发的情况,并指出 ...