(一)正则表达式
拓展:正则表达式
元字符 |
功能 |
意思 |
^ |
行首匹配 |
表示以某个字符开头 |
$ |
行尾匹配 |
表示以某个字符结尾 |
^$ |
空行 |
表示空行的意思 |
. |
匹配任意当个字符 |
表示任意一个字符 |
* |
匹配0或多个*字符 |
表示重复的任意多个字 |
\ |
转义字符 |
表示去掉有意义的元字符的含义 |
[] |
匹配中括号中的字符 |
表示过滤括号内的字符 |
.* |
多个字符 |
代表任意多个字符 |
lele\{n\} |
匹配lele出现的次数,n次数 |
统计lele出现的次数 |
lele\{n,\} |
匹配lele最少次数 |
|
lele\{n,m\} |
匹配lele的次数在n-m之间 |
(二) grep
grep擅长查找功能
- 作用
lunix系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。gerp全程是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
- 格式
grep [options]
- 主要参数
[options]主要参数
-v 显示不被pattern匹配到的行 |
-A#after 后#行 |
-i 忽略字符大小写 |
-B#before 前#行 |
-n 显示匹配的行号 |
-C#context 前后各#行 |
-c 统计匹配的行数 |
-e 实现多个选项间的逻辑or关系 |
-o 仅显示匹配到的字符串 |
grep -e ‘cat’ -e ‘dog’ file |
-q 静默模式,不输出任何信息 |
-w 匹配整个单词 |
-E使用ERE,相当于egrep |
-F相当于fgrep,不支持正则表达式 |
- 测试
[root@kb23 kb23]# grep g ./test.txt 匹配有g的行 good |
[root@kb23 kb23]# grep ^g ./test.txt 匹配以s开头的行 good
|
|
[root@kb23 kb23]# grep bash$ ./passwd |