正则基础介绍

任务列表
9.1 正则介绍_grep上
9.2 grep中
9.3 grep下

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

正则

正则就是一串有规律的字符串
掌握好正则对于编写shell脚本有很大的帮助
各种编程语言中都有正则,原理都是一样
本章要学习grep/egrep、sed、awk

grep命令

grep过滤指定关键词
grep [-cinvABC] ‘word’ filename
-c 打印符合要求的行数
在这里插入图片描述
-i 不区分大小写
在这里插入图片描述
-n 显示行号
在这里插入图片描述
-v 取反
在这里插入图片描述
-r 遍历所有子目录
在这里插入图片描述
-A 后面跟数字,过滤出符合要求的行以及下面n行
在这里插入图片描述
-B 同上,过滤出符合要求的行以及上面n行
在这里插入图片描述
-C 同上,过滤出符合要求的行以及上下各n行
在这里插入图片描述

grep ‘[0-9]’ passwd
在这里插入图片描述
grep -v ‘[0-9]’ passwd
在这里插入图片描述
grep ‘^[0-9]’ passwd 列出非数字开头的行
‘^’ ^在引号中表示已什么开头
[^] ^在方括号中表示取反
在这里插入图片描述
grep ^‘[^ a-zA-Z]’ passwd
在这里插入图片描述
grep ‘r.o’ passwd 其中的点,表示任意一个字符
在这里插入图片描述
grep'o*o' passwd 表示*号左边的字符出现0次或多次
在这里插入图片描述
‘.*’ 表示任意个任意字符
在这里插入图片描述

扩展正则:当表达式中有+,?,|,(),{ }等时,grep是不能直接使用需要机上 \ 脱义,或者加上-E,或者使用egrep,写法如下:
过滤出出现两次o这个字符的行
grep ‘o{2}’ passwd
grep -E ‘o{2}’ passwd
egrep ‘o{2}’ passwd
在这里插入图片描述

grep -E ‘(oo){1}’ passwd 表示oo这个字符出现一次
grep'o*o' passwd 表示 * 号左边的字符出现0次或多次
egrep ‘o+o’ passwd 表示 + 号左边的字符出现一次或者多次
egrep ‘o?o’ passwd 表示 ?号左边字符出现的零次或者一次
egrep ‘root|tx’ passwd 表示包含 | 两边的任意一个字符的行

课堂笔记

date 打印当前日期
$() 取小括号中命令的结果,变成指令输出
history 1 取命令历史中最后一条

read详解
http://blog.lishiming.net/?p=484

扩展正则:+ ?  () {} |
grep -E 或者egrep
正则表达式核心关键词
.      任意一个字符
.*    代表任何个字符或者没有字符
*     不能单独存在,前面必须有一个字符,*号前面的字符有零个或者多个,用(aaa)*括起来表示零个或者多个aaa
+    不能单独存在,+号前面的字符有一个或者多个,
?    ?号前面的字符有零个或者一个,
()    看成为一个整体(aaa)
{}    表示范围,{1,3}表示1-3。
|      表示或者
[]     表示其中一个字符,[1-3]等同于[1,2,3]表示1或者2或者3当中一个,[a-zA-Z]
^     以什么开头,^[^a-z] 表示取反,不要以a-z字母开头的
$     以什么结果,b$ 表示以b结尾的
\      脱义
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值