首页 > 其他 > 详细

grep过滤

时间:2017-01-12 16:09:39      阅读:183      评论:0      收藏:0      [点我收藏+]

正则表达式就是一个字符串,有一定的规律。

使用工具:grep、sed、awk。


grep

  --color              显示颜色

     -n                   显示行号

     -c                   显示行数

     -v                   取反

     -A  数字             显示符合行,同时显示符合行下面的n条行      

     -B  数字             显示符合行,同时显示符合行上面的n条行

     -C  数字             显示符合行,同时显示符合行各上下面的n条行

     -r                   遍历目录

     -h                   遍历目录时,结果不显示文件名,和-r一起连用

     -i                   不区分大小写


grep  主要用于过滤包含字符的所在行。

[root@wy ~]# grep ‘root‘ /etc/passwd

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin


显示颜色和行号

技术分享


显示符合的行数

[root@wy ~]# grep -c ‘root‘ /etc/passwd

2


显示符合行并同时显示符合行下面的n条行

技术分享


显示符合行并同时显示符合行上面的n条行

技术分享


显示符合行并同时显示符合行各上下面的n条行

技术分享


过滤不包含此字符的

技术分享


过虑包含数字的

技术分享


过滤包含指定字符的

[root@wy ~]# grep --color ‘[yN]‘ /etc/passwd


过虑所有字母的

[root@wy ~]# grep  ‘[a-zA-Z]‘ /etc/passwd


匹配以字母开头的行

技术分享


匹配以数字开头的行

[root@wy ~]# grep --color ‘^[0-9]‘ /etc/passwd


匹配不包含数字的行‘[^0-9]‘

技术分享


匹配不以数字开头的行

技术分享


匹配空行

[root@wy ~]# grep ‘^$‘ /etc/passwd


. 表示任意一个字符

技术分享


*表示0个或多个*前面的字符

技术分享


.*任意字符(贪婪匹配)

技术分享


?表示0或1个问号前面的字符(得用\先脱义一下)

技术分享


但不想用脱义符,可以加-E选项,一样的效果(grep -E==egrep)

技术分享


注:如果vim编辑文件时异常退出了,还在vim界面下,会产生一个临时的swp的文件,可以把它删掉。


+ 表示1个或多个加号前面的字符(+也是特殊字符,也需要转义,可以使用egrep不需要转义)

技术分享


| 表示或者

技术分享


表示并且不能用&,只能这样写

技术分享


()表示括号里的是一个整体

技术分享


(){}表示一个范围,指定次数

技术分享


总结:? +  |  ()  {}  这些特殊符号需要脱义




本文出自 “linux” 博客,转载请与作者联系!

grep过滤

原文:http://warm51fun.blog.51cto.com/3884274/1891404

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!