Linux学习之十一egrep及扩展正则表达式(egrep)
来源:互联网 发布:福建万照软件 编辑:程序博客网 时间:2024/06/16 16:51
一、egrep及扩展正则表达式:
REGEXP:REGular EXPression
1、正则表达式:
Basic REGEXP:基本正则表达式
Extended REGEXP:扩展正则表达式
2、扩展正则表达式:Extended REGEXP
字符匹配:
.:任意单个字符
[]:范围内的任意单个字符
[^]:范围外的任意单个字符
次数匹配:
*:其前字符任意次
?:其前字符0次或1次
+:其前字符至少1次,相当于正则表示式中'\{1,\}'
{m,n}:匹配其前字符至少m次,至多n次
位置锚钉:
^:锚钉行首
$:锚钉行尾
\<:锚钉词首
\>:锚钉词尾
分组:
():后向引用
\1:引用第一个左括号以及与之对应的右括号所包含的所有内容
\2:引用第二个左括号以及与之对应的右括号所包含的所有内容
\3:引用第三个左括号以及与之对应的右括号所包含的所有内容
或者:
|:表示或者(or),如a|b,表示匹配a或者b
例1:[root@Ourlab ~]# grep -E --colour 'C|cat' test6.txt
cat
Cat
C
China
例2:[root@Ourlab ~]# grep -E --colour '(C|c)at' test6.txt
cat
Cat
3、grep -E =egrep
课后练习:
1、找出/proc/cpuinfo文件中的1位数或2位数的行;
[root@Ourlab ~]# grep '\<[0-9]\{1,2\}\>' /proc/cpuinfo
2、找出/boot/grub/grub.conf命令结果中的1-255之间的整数;
[root@Ourlab ~]# egrep --colour '\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>' /boot/grub/grub.conf
3、查找当前系统上名字为wolf(必须出现在行首)的用户的账号的相关信息,文件/etc/passwd;
[root@Ourlab ~]# grep '^wolf\>' /etc/passwd
4、显示/boot/grub/grub.conf文件中以一个或多个空白字符开头的行;
[root@Ourlab ~]# grep -E '^[[:space:]]+' /boot/grub/grub.conf
或者:
[root@Ourlab ~]# grep '^[[:space:]]\{1,\}' /boot/grub/grub.conf
5、找出ifcongfig输出结果中IP及掩码等地址;
[root@Ourlab ~]# ifconfig | egrep --colour -o '(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>'
6、找出ifconfig输出结果中A、B、C三类的IP地址;
[root@Ourlab ~]# ifconfig | egrep --colour -o '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-1][0-9]|22[0-3])\>(\.\<[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4]){2}\.\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>'
REGEXP:REGular EXPression
1、正则表达式:
Basic REGEXP:基本正则表达式
Extended REGEXP:扩展正则表达式
2、扩展正则表达式:Extended REGEXP
字符匹配:
.:任意单个字符
[]:范围内的任意单个字符
[^]:范围外的任意单个字符
次数匹配:
*:其前字符任意次
?:其前字符0次或1次
+:其前字符至少1次,相当于正则表示式中'\{1,\}'
{m,n}:匹配其前字符至少m次,至多n次
位置锚钉:
^:锚钉行首
$:锚钉行尾
\<:锚钉词首
\>:锚钉词尾
分组:
():后向引用
\1:引用第一个左括号以及与之对应的右括号所包含的所有内容
\2:引用第二个左括号以及与之对应的右括号所包含的所有内容
\3:引用第三个左括号以及与之对应的右括号所包含的所有内容
或者:
|:表示或者(or),如a|b,表示匹配a或者b
例1:[root@Ourlab ~]# grep -E --colour 'C|cat' test6.txt
cat
Cat
C
China
例2:[root@Ourlab ~]# grep -E --colour '(C|c)at' test6.txt
cat
Cat
3、grep -E =egrep
课后练习:
1、找出/proc/cpuinfo文件中的1位数或2位数的行;
[root@Ourlab ~]# grep '\<[0-9]\{1,2\}\>' /proc/cpuinfo
2、找出/boot/grub/grub.conf命令结果中的1-255之间的整数;
[root@Ourlab ~]# egrep --colour '\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>' /boot/grub/grub.conf
3、查找当前系统上名字为wolf(必须出现在行首)的用户的账号的相关信息,文件/etc/passwd;
[root@Ourlab ~]# grep '^wolf\>' /etc/passwd
4、显示/boot/grub/grub.conf文件中以一个或多个空白字符开头的行;
[root@Ourlab ~]# grep -E '^[[:space:]]+' /boot/grub/grub.conf
或者:
[root@Ourlab ~]# grep '^[[:space:]]\{1,\}' /boot/grub/grub.conf
5、找出ifcongfig输出结果中IP及掩码等地址;
[root@Ourlab ~]# ifconfig | egrep --colour -o '(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>'
6、找出ifconfig输出结果中A、B、C三类的IP地址;
[root@Ourlab ~]# ifconfig | egrep --colour -o '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-1][0-9]|22[0-3])\>(\.\<[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4]){2}\.\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>'
0 0
- Linux学习之十一egrep及扩展正则表达式(egrep)
- Linux学习笔记:egrep及扩展的正则表达式
- 14.egrep扩展正则表达式
- Linux egrep 与正则表达式
- 【Linux相识相知】文本处理工具之grep-egrep-fgrep及正则表达式
- 正则表达式,grep/egrep
- linux正则表达式 grep egrep用法
- linux正则表达式 grep egrep用法
- linux正则表达式 grep egrep用法
- linux正则表达式 grep egrep用法
- 正则表达式——匹配(egrep)
- 正则表达式(grep,egrep,fgrep)
- 正则表达式(grep,egrep,fgrep)
- 正则表达式(grep,egrep,fgrep)
- 正则表达式学习-1-了解正则表达式(egrep)
- Grep(egrep)与正则表达式
- linux egrep新添的正则表达式元字符
- linux基本命令grep egrep fgrep用法以及正则表达式
- 防止SQL注入的五种方法
- 部件MSCOMCTL.OCX或其附件之一不能正确注册:一个文件丢失或无效
- 常用技巧(一)2
- Monit:开源服务器监控工具
- OC 重点block-------5-------block作为函数的返回值
- Linux学习之十一egrep及扩展正则表达式(egrep)
- C++程序设计 重载
- opencv3中的imwrite函数详解
- 数据结构——线性表总结
- bzoj1110 [POI2007]砝码Odw 贪心+进制拆分
- HID Usage Tables (用途表)
- 程序2--分利润
- caffe 自带例子之MNIST的网络解析
- 引用调用和传值调用