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. Tag文件的创建与应用

    Tag文件,几乎和JSP文件一模一样,可以被JSP页面动态加载调用.Tag文件有什么优势呢(既然和JSP几乎一模一样,那就得想想这个必然有不一样的地方,不然要它存在干嘛) 在设计Web应用时,可以通过 ...

  2. LeetCode - Merge Two Binary Trees

    Given two binary trees and imagine that when you put one of them to cover the other, some nodes of t ...

  3. oracle完全恢复数据库

    完全恢复数据文件 rman target/ list backup summary; 查看是否有备份,如果没有备份,先进行全备份(应该是backup database吧) 现在模拟删除oracle数据 ...

  4. zsh:no matches found 问题解决

    解决方法: ~/.zshrc 文件加入: setopt no_nomatch 之后,更新配置 source ~/.zshrc        

  5. IAR intrinsic functions

    You can insert asm code example asm("NOP") into the c or c++ source code to get a good per ...

  6. 什么是数学 (R·柯朗 H·罗宾 著)

    第1章 自然数 引言 $1 整数的计算 1. 算术的规律 2. 整数的表示 3. 非十进位制中的计算 $2 数学的无限性 数学归纳法 1. 数学归纳法原理 2. 等差级数 3. 等比级数 4. 前n项 ...

  7. python之路---11 第一类对象 函数名 闭包 迭代器

    二十九. 1.函数名的运用    ①函数名是⼀个变量, 但它是⼀个特殊的变量, 与括号配合可以执⾏函数的变量 ②函数名是一个内存地址    ③ 函数名可以赋值给其他变量         ④函数名可以当 ...

  8. linux中和salt中的fqdn测试小节

    设置hosts文件和hostname文件 [root@dawn-hnyd-yd-1 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdoma ...

  9. Revit api 创建族并加载到当前项目

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. 实例对象与 new 命令

    引用:https://wangdoc.com/javascript/oop/new.html JavaScript 语言的对象体系,不是基于"类"的,而是基于构造函数(constr ...