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. 【HDOJ1531】【差分约束+添加超级源点】

    http://acm.hdu.edu.cn/showproblem.php?pid=1531 King Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  2. SpringMVC整合Thymeleaf

    Thymeleaf的介绍 进行JavaWeb开发时主要用到的是JSP,传统的JSP需要在页面中加入大量的JSTL标签,这些标签只能运行在服务器中,前端开发人员维护这些页面比较困难,页面加载速度也比较慢 ...

  3. Redis 开发与运维

    Getting Start 高性能 性能优势的体现 C语言实现的内存管理 epoll的I/O多路复用技术+IO连接/关闭/读写通过事件实现异步的非阻塞IO TCP协议 单线程架构,不会因为高并发对服务 ...

  4. THML文档布局元素

    学习要点:     1.文档元素总汇     2.文档元素解析 一.文档元素总汇     文档元素基本没有什么实际作用效果,主要目的是在页面布局时区分各个主题和概念.         元素名称     ...

  5. Go Example--数组

    package main import "fmt" func main() { //定义一个数组并完成初始化,初始值为对应的零值 var a [5]int fmt.Println( ...

  6. linux解压缩命令之unzip,tar(持续更新)

    unzip apache-tomcat-7.0.78.zip -d /usr/local/src/ 解压zip压缩包到/usr/local/src,-d就是指定解压路径的意思

  7. linux 控制结构

    一.if 注: 格式1.格式2:一个条件一个命令: 格式3:一个条件两个命令: 格式4:两个条件三个命令,注意条件的写法. 例1: #!/bin/sh#ifTest#to show the metho ...

  8. 01c++学习

    #include"iostream" using namespace std; void main01() { //printf("hello_world\n" ...

  9. 怎样解题 (G. 波利亚 著)

    第一部分 (已看) 目的 1. 帮助学生 2. 问题,建议,思维活动 3. 普遍性 4. 常识 5. 教师和学生,模仿和实践 主要部分,主要问题 6. 四个阶段 7. 理解题目 8. 例子 9. 拟订 ...

  10. Unity 代码 学习

    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A: B: using System; using System.Runtime.Compile ...