第九章 正则
9.1 \9.2\9.3 正则介绍_grep
.正则就是一串有规律的字符串
.正则对编写shell脚本有很大帮助
.各种编程语言中都有正则
正则工具:grep/egrep(egrep是grep的扩展)、sed、awk
grep介绍
grep是用来过滤关键词的
# grep -r 遍历所有子目录
# grep -A 后面跟数字n,过滤出符合要求的行以及下面n行
#grep -B后面加数字n,过滤出符合要求的行以及上面n行.
#grep -C 后面跟数字n,同时过滤出符合要求的行以及上下各n行
grep不是正则的主题,是实现正则的工具。
# 过滤数字
# 以某个字符开头的,在关键字前面加上^
#^放在[]外就是过滤出以指定字符开始的行,放在里面就是取反。
# r.o 和 r*o
grep 'r.o' /etc/passwd
grep 'r*o' /etc/passwd
# grep -n 'o\{2\}' passwd
({}表示前面符号重复范围,’o\{2\}’表示o出现两次(或者2的次数幂)在要在转义符号“\”)
# 不带转义符号“\”的写法
egrep -n 'o{2}' passwd
# grep -n 'o\+b' passwd
("+"表示+前面字符一次或多次,而*是零次或多次)
# egrep -n 'o?t' passwd
grep -En 'o?t' passwd
grep -n 'o\?t' passwd
(?表示问号前面字符零次或者一次)
#
grep -En 'root|nologin' passwd
(|表示或者)
在grep命令中有特殊符号的时候
(1)使用转义符号
(2)-E
(3)使用egrep