目录
1.基本正则表达式
2.扩展正则表达式
3.实操之grep筛选
3.1基本正则表达式
3.2扩展正则表达式
1.基本正则表达式
^ 用于最左端,如^"abc",匹配以abc开头的行
$ 用于最右端,如"abc$",匹配以abc结尾的行
^$ 表示空行
. 表示匹配任意一个字符
\ 转义字符,如"\.",表示字符'.'
* 出现0次或1次以上,"a*"表示a出现0次或1次以上
.* 匹配任意字符
^.* 任意字符开头
.*$ 任意字符结尾
[abc] 匹配括号中任意一个字符,也可以写成[a-c]
[^abc] 匹配除了abc以外的字符
2.扩展正则表达式
+ 匹配前一个字符1次或多次
[abc]+ 匹配abc 1次或多次
? 匹配前一个字符0次或1次
| 或者的意思
() 分组
a{n,m} 匹配a最少n次,最多m次
a{n,} 匹配a最少n次
a{n} 匹配a n次
a{,m} 匹配a最多m次
3.实操之grep筛选
grep参数如下
测试文件内容为:
passwd.txt文件:(配置文件扒下来)
cat /etc/passwd > passwd.txt
3.1基本正则表达式
(1)在grep.txt中查找以'i'开头的行
(2)在passwd.txt中查找有登陆权限(即以"/bin/bash"结尾的行)
(3)在grep.txt中查找到除空行和注释以外的行
(4)在grep.txt中查找以'.'结尾的行并排除空行
(5)在grep.txt中查找以任意一个字符加上'a'的所有行
(6)在grep.txt中查找含有大写字母的所有行
3.2扩展正则表达式
grep 加上 -E 选项
(1)grep -E -n "go?d" grep.txt
(2)当前目录下查找含有'a'或者'e'的txt文件
(3)样例文件:
这里的'\1'表示前面括号中的内容