1、简介
- 正则就是一些具有特殊含义的符号
- 例如:* . ^ $
正则和通配符的区别
- 区别一:通配符主要是针对文件名来使用的,例如找文件夹名是以a为开头的就是a*
- 区别二:正则主要是针对文件的内容来使用,例如找文件以a为开头的行,需要视同的就是正则就是a.*
grep命令
- 一、 grep的作用:从文件中过来满足条件就行
- 二、 grep的格式:grep 【选项】 条件 文件名
- 案例
1、创建测试文件
[root@localhost /]# vi a.txt
a red apple
lt's going to happen
reflection of the heart
lt's better for you
old people don't come back
muddle along without any aim
1.dsds
sdkapo 1
ddds1dsds
2、从测试文件中过滤出包含 1 的行
[root@localhost /]# grep "1" a.txt
3、从测试文件中过滤出包含for的行
[root@localhost /]# grep "for" a.txt
正规符号
符号 | 含义 | 举例 |
. | 代表任意一个字符 | 举例一 |
* | 代表其前面的字符出现任意的次数 | 举例二 |
.* | 代表任意个任意字符 | 举例三 |
^ | 代表的是行的首部 | 举例四 |
$ | 代表的是尾的尾部 | 举例五 |
准备测试的文件
[root@localhost /]# vi a.txt
a red apple
lt's going to happen
reflection of the heart
lt's petter for you
old people don't come back
muddle along without any aim
1.dsds
sdkapo 1
ddds1dsds
案例一:过滤出a和n中间有两个字符的行
[root@localhost /]# grep "a..n" a.txt
案例二:过滤出L前边有任意个b的行
[root@localhost /]# grep "b*l" a.txt
案例三:过滤出包含字母l和p的行,而且l要在前边
[root@localhost /]# grep "l.*p" a.txt
案例四:过滤出以o为开头的行
[root@localhost /]# grep "^o" a.txt
案例五:过滤出以m为结尾的行
[root@localhost /]# grep "m$" a.txt