一、grep命令和正则表达式的简介
1、grep(Global search REgular expression and Print out the line),即全局搜索正则表达式并打印出匹配的行,它是Linux系统中一个强大的文本搜索工具,它根据用户指定的“模式(pattern)”对目标文本进行过滤,显示被模式匹配到的行; 2、正则表达式是由一类字符书写的模式,其中有些字符不表示符的字面意义,而是表示控制或通配的功能
二、grep命令的基本语法格式 1
2
3
4
5
6
7
8
9
10
11
12
| grep [OPTION]... 'PATTERN' FILE...
grep的常用选项:
-v : 对匹配的行进行取反
-o : 仅显示匹配到的内容
-i : 忽略字符大小写
-n : 为匹配的行加上行号
-E : 使用扩展正则表达式 ,等同于egrep命令
-F : 不使用正则表达式搜索,等同于fgrep命令
-A # : 连同匹配行的下#行一并显示,#代表任意数字
-B # : 连同匹配行的上#行一并显示,#代表任意数字
-C # : 连同匹配行的上下#行一并显示,#代表任意数字
--color=auto : 对匹配的内容以不同的颜色显示
|
三、grep正则表达式的基本用法
基本正则表达式: 1、字符匹配 .:匹配任意单个字符 1
2
3
4
5
6
| 例如:匹配以r开头,t结尾中间只隔了两个字符的行
[iyunv@localhost ~]# grep 'r..t' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[iyunv@localhost ~]#
|
[]:匹配指定集合中的任意单个字符 1
2
3
4
5
6
7
8
| 常用的集合表示方法有:
纯数字:[[:digit:]]或[0-9]
小写字母:[[:lower:]]或[a-z]
大写字母:[[:upper:]]或[A-Z]
大小写字母:[[:alpha:]]或[a-zA-Z]
数字加字母:[[:alnum:]]或[0-9a-zA-Z]
空白字符:[[:space:]]
标点符号:[[:punct:]]
|
|