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. 2017.4.9 函数式编程FP

    函数编程(简称FP)不只代指Haskell Scala等之类的语言,还表示一种编程范式,和面向对象的编程方式一样,是编程思维,软件思考方式,也称面向函数编程. 编程的本质是组合,组合的本质是范畴Cat ...

  2. python筛选特定文件的信息按照格式输出到txt

    最近搞数据库,为了把图片文件的信息导入数据库表中,我开始研究python列出图片文件,其中发现因为IE临时文件里有非常多的不需要的图片,就需要筛选掉一些文件. 最终用python输出了所有需要的图片文 ...

  3. LG4980 【模板】Polya定理

    题意 题目描述 给定一个$n$个点,$n$条边的环,有$n$种颜色,给每个顶点染色,问有多少种本质不同的染色方案,答案对$10^9+7$取模 注意本题的本质不同,定义为:只需要不能通过旋转与别的染色方 ...

  4. 将koa+vue部署到服务器

    很久很久以前,就对前后端如何分离,后端如何把代码部署到服务器有浓厚的兴趣,最近在阿里云上申请了一个服务器,试试水吧! 本文参考了文章<基于Node的Koa2项目从创建到打包到云服务器指南> ...

  5. Nginx配置基于ip的虚拟主机

    我是在centos7虚拟机上进行实验的 该实验基于添加好ip的基础上,如何给网卡添加ip请查阅我的博客 先来看一下我的ip [root@localhost nginx]# ifconfig ens33 ...

  6. 使用terraform-provider-s3 操作minio

    尽管默认官方提供了s3 的操作,但是对于开源minio 无法支持,更多的是aws 的s3,社区提供了一个通用 s3 操作的provider(基于minio 的sdk) 环境准备 docker-comp ...

  7. S老师 C#编程数据结构篇 学习

    直接插入排序                                                       冒泡排序 简单选择排序 线性表: using System; using Sy ...

  8. 目前支持WebGL的浏览器有哪些?

    Google Chrome 9+ Mozilla Firefox 4+ Safari 5.1+(仅限于Mac OS X操作系统,不包括Windows) Opera 12 alpha及以上版本 IE9+ ...

  9. SimpleEntity

    项目地址 :  https://github.com/kelin-xycs/SimpleEntity SimpleEntity 一个 用 C# 实现的 简单的 持久层 Entity 实现 . 这是一个 ...

  10. 谈谈在 .Net 平台上的 软件生态 和 软件生产力

    我们可以先看看这篇文章 : <看 StackOverflow 如何用 25 台服务器撑起 5.6 亿的月 PV>    http://www.nowamagic.net/librarys/ ...