linux基础篇-12,grep正则表达式与扩展正则表达式
2016-11-22 18:50
519 查看
################################################
基本正则表达式:grep 使用正则表达式定义的模式来过滤文本
grep
-i :不区分大小写
--color
-v:显示没被匹配的任意行
-o:只显示被匹配的字符串
-E 扩展的正是表达式 =egerp
-A#:#为数字
-B#:
-C#:
[root@Jameszhan testcp]# grep -o 'root' /etc/passwd --color
root
root
root
root
元字符:
.:匹配任意单个字符
[]:匹配指定范围内的单个字符
[^]:匹配指定范围外的任意单个字符
匹配次数:
*:匹配前面的字符任意次
.*:匹配任意字符串
\? 匹配前面的字符1次或0次
\{m,n\}:匹配前面字符m-n次
位置锚地
^:锚定行首
\<或\b:锚定词首 后面的任意字符必须作为单词首部出现
\<root
$:锚定行尾
\>或\b:锚定词尾 前面的任意字符作为单词出现在尾部
root\>
\(abc\) 作为内容出现和扩展正则表达式雷同
支持后向引用
################################################
扩展的正则表达式:REGular expression regexp
元字符:
.:匹配任意单个字符
[]:匹配指定范围内的单个字符
[^]:匹配指定范围外的任意单个字符
匹配次数:
*:匹配前面的字符任意次
.*:匹配任意字符
\? 匹配前面的字符1次或0次
+:匹配前面的字符至少1次
{m,n}:匹配前面字符
[root@Jameszhan ~]# cat /tmp/t.txt
it is open no opening
###########
位置锚地
^:锚定行首
###########
$:锚定行尾
###########
^$:空白行
###########
\<或\b:锚定词首 后面的任意字符必须作为单词首部出现
\<root
###########
\>或\b:锚定词尾 前面的任意字符作为单词出现在尾部
root\>
###########
(ab)* 分组(一般作为单词出现时用括号扩起来)
[root@Jameszhan ~]# grep '(abc)*' -E --color /tmp/t.txt
ab
abc
aab
aaac
支持后向引用 \1,\2
[root@Jameszhan ~]# grep -E '(open).*\1' /tmp/t.txt --color
it is open no opening
###########
|:或or
用整整表达式写出 1-255
\<[1-9]|[1-9][0-9]|1[0-9][0-99]|2[0-4][0-9]|25[0-5]\>
筛选出网卡配置文件内的0-255之间的数字
ifconfig | grep -E '(\<[0-9]|[1-9][0-9]|1[0-9][0-99]|2[0-4][0-9]|25[0-5]\>)' --color
[root@Jameszhan ~]# cat /etc/passwd | grep 'nologin\>' --color
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
基本正则表达式:grep 使用正则表达式定义的模式来过滤文本
grep
-i :不区分大小写
--color
-v:显示没被匹配的任意行
-o:只显示被匹配的字符串
-E 扩展的正是表达式 =egerp
-A#:#为数字
-B#:
-C#:
[root@Jameszhan testcp]# grep -o 'root' /etc/passwd --color
root
root
root
root
元字符:
.:匹配任意单个字符
[]:匹配指定范围内的单个字符
[^]:匹配指定范围外的任意单个字符
匹配次数:
*:匹配前面的字符任意次
.*:匹配任意字符串
\? 匹配前面的字符1次或0次
\{m,n\}:匹配前面字符m-n次
位置锚地
^:锚定行首
\<或\b:锚定词首 后面的任意字符必须作为单词首部出现
\<root
$:锚定行尾
\>或\b:锚定词尾 前面的任意字符作为单词出现在尾部
root\>
\(abc\) 作为内容出现和扩展正则表达式雷同
支持后向引用
################################################
扩展的正则表达式:REGular expression regexp
元字符:
.:匹配任意单个字符
[]:匹配指定范围内的单个字符
[^]:匹配指定范围外的任意单个字符
匹配次数:
*:匹配前面的字符任意次
.*:匹配任意字符
\? 匹配前面的字符1次或0次
+:匹配前面的字符至少1次
{m,n}:匹配前面字符
[root@Jameszhan ~]# cat /tmp/t.txt
it is open no opening
###########
位置锚地
^:锚定行首
###########
$:锚定行尾
###########
^$:空白行
###########
\<或\b:锚定词首 后面的任意字符必须作为单词首部出现
\<root
###########
\>或\b:锚定词尾 前面的任意字符作为单词出现在尾部
root\>
###########
(ab)* 分组(一般作为单词出现时用括号扩起来)
[root@Jameszhan ~]# grep '(abc)*' -E --color /tmp/t.txt
ab
abc
aab
aaac
支持后向引用 \1,\2
[root@Jameszhan ~]# grep -E '(open).*\1' /tmp/t.txt --color
it is open no opening
###########
|:或or
用整整表达式写出 1-255
\<[1-9]|[1-9][0-9]|1[0-9][0-99]|2[0-4][0-9]|25[0-5]\>
筛选出网卡配置文件内的0-255之间的数字
ifconfig | grep -E '(\<[0-9]|[1-9][0-9]|1[0-9][0-99]|2[0-4][0-9]|25[0-5]\>)' --color
[root@Jameszhan ~]# cat /etc/passwd | grep 'nologin\>' --color
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
相关文章推荐
- 正则表达式grep和扩展正则表达式egrep
- linux grep 基本正则表达式与扩展正则表达式使用解析
- linux之grep基本及扩展正则表达式应用作业
- linux grep基本正则表达式和egrep扩展正则表达式
- Linux中通配符、正则表达式和扩展正则表达式
- Linux基础知识之正则表达式、grep、egrep的用法
- Linux:grep基本使用、与之配合的正则表达式
- Linux正则表达式的使用和基本命令grep、egrep、fgrep的用法
- Linux下正则表达式和grep命令的使用
- linux正则表达式 grep egrep用法
- Linux---文本处理(正则表达式,grep,awk,sed)
- Grep/Sed的扩展正则表达式开关,以及利用正则表达式中的分组功能
- Grep/Sed的扩展正则表达式开关,以及利用正则表达式中的分组功能
- 【APP】Linux运维利器--Grep命令及正则表达式
- linux正则表达式 grep egrep用法
- GREP 正则表达式 扩展正则表达式 重定向
- 在Linux下正则表达式和grep命令的使用
- linux 通配符与正则表达式(grep、find) (转载)
- linux系统下的grep命令功能与正则表达式详解
- linux之grep命令和正则表达式练习