正则表达式和扩展正则表达式
一、正则表达式的作用 1、正则表达式是什么,有什么作用。 Global search REgular expression and Print out the line. 正则表达式:正则表达式引擎 正则表达式: 文本搜索工具,根据用户指定的文本模式(搜索条件)对目标文件进行逐行搜索,显示能匹配到的行。 二、基本使用方法 基本正则表达式:grep 扩展正则表达式: egrep,grep -E 语法格式: grep[option]...'PATTERN'FILE... --color=auto 命令选项: -v:反向选取 -o:仅显示匹配的字串,而非字串所在的行 -i:ignore-case,忽略字符大小写 -E:支持使用扩展正则表达式 -A#匹配内容的之后#行信息 -B#匹配内容的之前#行信息(第一个匹配项就是第一行) -C#匹配内容的前后各#行信息 1、基本正则表达式和扩展字符表达式元字符匹配的区别表 基本正则表达式的元字符: 字符匹配 次数匹配元字符:用于实现指定其前面的字符所能够出现的次数不包含特殊字符的连续字符组成的串叫单词
2、字符匹配表
3、位置锚定
4、分组 分组中的模式匹配到的内容,可由正则表达式引擎记忆在内存中,之后可被引用 () 引用: 例如: abcmnaaa 四、实验操作 练习grep的基本使用 1、查看所有用户的进程并把httpd的进程显示出来
2、查找/proc/meminfo中以大小写字母开头的行 3、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户; 4、显示/etc/passwd文件中其默认shell为/bin/bash的用户;进一步:仅显示上述结果中其ID号最大的用户; 5、找出/etc/passwd文件中的一位数或两位数 6、显示/boot/grub/grub.conf中以至少一个空白字符开头的行 7、显示/etc/rc.d/rc.sysinit文件中,以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; 8、找出netstat -tan命令执行结果中以'LISTEN'结尾的行; 9、显示当前系统上root、fedora或user1用户的默认shell 10、找出/etc/rc.d/init.d/functions文件中某单词后跟一组小括号“()”行; 12、找出ifconfig命令结果中的1-255之间的数字; 五、结论 grep和egrep是很常见也很常用的命令,它最重要的功能就是进行字符串数据的比较,然后将符合用户需求的字符串显示出来,由于vi、grep、awk、sed等工具都支持正则表达式,对于文本中的字符串的处理相当的方便,所以学好正则表达式对于linux中的文本操作就方便多了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |