10.16

9.1 正则介绍_grep上
9.2 grep中
9.3 grep下

正则介绍_grep上

9.1 正则介绍_grep上 
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep -c “sbin” /root/passwd #-c显示一共出现了多少行数
grep -i “root” /root/passwd #-i不区分大小写

grep -n “root” /root/passwd #-n显示行号

grep -v “sbin” /root/passwd #-v取反

 

-r遍历所有子目录 
-A后面跟数字。过滤出符合要求的行以及下面n行 
-B后面跟数字,过滤出符合要求的行以及上面n行 
-C后面跟数字,同时过滤出符合要求的行以及上下各n行

grep -n ‘root’ /root/passwd #过滤包含root的行并显示行号 
grep -nv ‘nologin’ /root/passwd #过滤不包含nologin的行并显示行号 
grep ‘[0-9]’ /root/inittab #查找包含数字的行
grep -v ‘[0-9]’ /root/inittab #过滤不包含数字的行

grep -v ‘^#’ /root/inittab #过滤不包含#的行,^#不是#开头的行

grep -v ‘^#’ /root/inittab|grep -v ‘^'  #先过滤出不是#开头的行,再在中间过滤出不是'  #先过滤出不是#开头的行,再在中间过滤出不是卡头的行(第二个grep中不能用特殊符号 ^$ 表示空行,以空开头 以空结尾 就是空行)

grep ‘^[^a-zA-Z]’ /root/passwd #查出不含字母的含 
[root@wwlinux701 ~]# grep ‘^[^a-zA-Z]’ /root/passwd 
234234235 
&&

grep ‘m.s’ /root/passwd #“.”表示任意一个字符,查找m开头+中间任意一个字符+s结尾
grep ‘oo*’ /root/passwd # “”表示0个或多个前面这个字符
grep ‘o*o’ /root/passwd #*左边的这个字符重复0到n次,一次是‘oo’,两次是‘ooo’

grep ‘.*’ /root/passwd #匹配所有字符串
grep ‘o{2}’ /root/passwd #匹配o出现2次 等于 grep -E ‘o{2}’ /root/passwd

egrep可以不脱意{},grep -E也可以达到egrep效果 
egrep ‘o{2}’ /root/passwd #效果同grep ‘o{2}’ /root/passwd  
egrep ‘o+t’ /root/passwd # +这个符号前面的重复一次或者n次,*号是0次或者多次 
egrep ‘oo?’ /root/passwd #?前面这个字符重复次数为0或者1
egrep ‘root|nologin’ /root/passwd #包含root或者nologin的行
egrep ‘(oo){2}’ /root/passwd #连续两个00在一起的行

扩展
把一个目录下,过滤所有*.php文档中含有eval的行
grep -r –include=”*.php” ‘eval’ /data/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值