grep,egrep及正则表达式详解
2015-04-02 21:48
232 查看
1、定义:
grep:文本搜索工具,根据用户的需要,使用正则表达式,搜索文本并显示匹配到的内容相对应的行。
egrep:文本搜索工具,根据用户的需要,使用扩展正则表达式,搜索文本并显示匹配到的内容相对应的行。
正则表达式:由元字符及正常字符组成,根据用户要求,来实现表达控制和通配等功能。
2、参数
grep [-oviABCE] [PATTERN] [FILE]...
--color=auto:设置匹配到的字符颜色变化
-o:显示匹配到的行
-v:显示不匹配到的行
-i:不分字母大小写搜索
-A #:显示匹配行外也显示被匹配行后的#行
-B #:显示匹配行外也显示被匹配行前的#行
-C #:显示匹配行外也显示被匹配行前后各#行
-E:扩展正则表达式,等同于 egrep
正则表达示元字符不同的模式:
1.字符匹配:
.:匹配任意单个字符
[]:匹配范围内的任意单个字符
[^]:匹配范围外的任意单个字符
2.次数匹配:
*:匹配任意长度
\?:匹配0次或1次
\+:匹配至少1次
\{m\}:匹配m次
\{m,n\}:匹配至少m次,至多n次
3.位置锚定:
^:锚定行首
$:锚定行尾
4.单词锚定:
\<:锚定词首
\>:锚定词尾
5.分组:
\(\) \1 \2...:分组模式
3、例题:
1、找出/etc/passwd文件中的一位数或两位数;
另一种方法:
2、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
3、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
4、打出netstat -tan命令执行结果中含‘LISTEN’,后或跟空白字符结尾的行;
5、添加用户bash, ttbash, bashers, nologins (此一个用户的shell为/sbin/nologins),而后找出当前系统上其用户名和默认shell相同的用户的信息;
难点:易把[[:alnum:]]后跟* 这样就代表空字符也在内,并且要加词尾符,要不用户名和SHELL只要有一个 单词一样就会匹配。
本文出自 “蜗牛” 博客,请务必保留此出处http://linuxkingdom.blog.51cto.com/6334977/1627825
grep:文本搜索工具,根据用户的需要,使用正则表达式,搜索文本并显示匹配到的内容相对应的行。
egrep:文本搜索工具,根据用户的需要,使用扩展正则表达式,搜索文本并显示匹配到的内容相对应的行。
正则表达式:由元字符及正常字符组成,根据用户要求,来实现表达控制和通配等功能。
2、参数
grep [-oviABCE] [PATTERN] [FILE]...
--color=auto:设置匹配到的字符颜色变化
-o:显示匹配到的行
-v:显示不匹配到的行
-i:不分字母大小写搜索
-A #:显示匹配行外也显示被匹配行后的#行
-B #:显示匹配行外也显示被匹配行前的#行
-C #:显示匹配行外也显示被匹配行前后各#行
-E:扩展正则表达式,等同于 egrep
正则表达示元字符不同的模式:
1.字符匹配:
.:匹配任意单个字符
[]:匹配范围内的任意单个字符
[^]:匹配范围外的任意单个字符
2.次数匹配:
*:匹配任意长度
\?:匹配0次或1次
\+:匹配至少1次
\{m\}:匹配m次
\{m,n\}:匹配至少m次,至多n次
3.位置锚定:
^:锚定行首
$:锚定行尾
4.单词锚定:
\<:锚定词首
\>:锚定词尾
5.分组:
\(\) \1 \2...:分组模式
3、例题:
1、找出/etc/passwd文件中的一位数或两位数;
另一种方法:
2、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
3、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
4、打出netstat -tan命令执行结果中含‘LISTEN’,后或跟空白字符结尾的行;
5、添加用户bash, ttbash, bashers, nologins (此一个用户的shell为/sbin/nologins),而后找出当前系统上其用户名和默认shell相同的用户的信息;
难点:易把[[:alnum:]]后跟* 这样就代表空字符也在内,并且要加词尾符,要不用户名和SHELL只要有一个 单词一样就会匹配。
本文出自 “蜗牛” 博客,请务必保留此出处http://linuxkingdom.blog.51cto.com/6334977/1627825
相关文章推荐
- 详解grep、egrep及正则表达式
- Linux grep,egrep及相应的正则表达式用法详解
- Linux三剑客之grep、egrep及正则表达式使用详解
- grep, egrep及相应的正则表达式用法详解
- grep, egrep及相应的正则表达式用法详解
- grep, egrep及相应的正则表达式用法详解
- Linux正则表达式grep,egrep 及相应的正则表达式用法详解
- 详解正则表达式以及文本处理工具—grep、egrep的用法和特性
- grep,egrep相应的正则表达式用法详解。
- grep与egrep用法详解,与正则表达式的使用
- linux系统下的grep命令功能与正则表达式详解
- grep用法详解:grep与正则表达式
- grep用法详解:grep与正则表达式
- grep用法详解:grep与正则表达式
- 文本搜索必学命令-grep egrep fgrep用法以及正则表达式 推荐
- 正则表达式 grep egrep fgrep的用法
- 正则表达式grep和扩展正则表达式egrep
- linux正则表达式 grep egrep用法
- grep用法详解:grep与正则表达式
- grep用法详解:grep与正则表达式