码迷,mamicode.com
首页 > 其他好文 > 详细

grep简单用法

时间:2018-06-09 13:22:56      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:打印   查看   去除   匹配   grep -n   style   不包含   gre   指定   

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简单用法

标签:打印   查看   去除   匹配   grep -n   style   不包含   gre   指定   

原文地址:https://www.cnblogs.com/csj2018/p/9158963.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!