Linux命令汇总之正则表达式
2015-09-04 23:37
543 查看
正则表达式分两类:基本正则表达式(BRE)和扩展正则表达式(ERE)。
基本正则表达式的元字符含义:
1、.:匹配任何单个字符
2、[]:匹配指定范围内的单个字符
3、[^]:匹配指定范围外的单个字符
4、*:匹配其前面任意次数的字符
5、\?:匹配其前面0或1次
6、\+:匹配其前面1或多次
7、\{m\}:精确匹配m次
8、\{m,n\}:匹配至少m次,最多n次
9、.*:匹配任意长度的任意字符
10、^:行首锚定,
11、$:行尾锚定
12、\<:词首锚定(也可以用\b)
13、\>:词尾锚定(也可以用\b)
14、^$:匹配空白行
15、\(\):常与\n(n为数字)一起用,用来匹配某单个或多个字符组合的重现次数
二、扩展正则表达式的元字符含义:
1、.:匹配任何单个字符2、[]:匹配指定范围内的单个字符3、[^]:匹配指定范围外的单个字符4、*:匹配其前面任意次数的字符5、?:匹配其前面0或1次6、+:匹配其前面1或多次7、{m}:精确匹配m次8、{m,n}:匹配至少m次,最多n次9、.*:匹配任意长度的任意字符10、^:行首锚定,11、$:行尾锚定12、\<:词首锚定(也可以用\b)13、\>:词尾锚定(也可以用\b)14、^$:匹配空白行15、():常与\n(n为数字)一起用,用来匹配某单个或多个字符组合的重现次数
16、|:匹配|符号前或后的字符
三、可以匹配正则表达式的命令有:(这里只说grep命令)
1、grep:grep用基本正则表达式来匹配文本行。
格式:grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
选项:
-E:使用扩展正则表达式进行匹配(相当于egrep)
-F:相当于fgrep
-i:匹配时忽略大小写
-v:显示不匹配模式的行
-o:只显示匹配到的行
-q:静默模式
--color=auto:对匹配到的字符做高亮显示
四、例子:
1、显示/etc/passwd文件中以bash结尾的行;
2、显示/etc/passwd文件中的两位数或三位数;
3、 显示'netstat -tan'命令结果中以'LISTEN'后跟0个、1个或多个空白字符结尾的行
4、添加用户bash,testbash, basher以及nologin用户(nologin用户的shell为/sbin/nologin);而后找出/etc/passwd文件中用户名同shell名的行;
5、显示当前系统上root、centos或user1用户的默认的shell和UID;
6、找出/etc/rc.d/init.d/functions文件中某单词(单词中间可以存在下划线)后面跟着一组小括号的行
7、使用echo输出一个路径,而后egrep找出其路径基名;进一步地:使用egrep取出其目录名
8、找出ifconfig命令执行结果中1-255之间的数字;
基本正则表达式的元字符含义:
1、.:匹配任何单个字符
2、[]:匹配指定范围内的单个字符
3、[^]:匹配指定范围外的单个字符
4、*:匹配其前面任意次数的字符
5、\?:匹配其前面0或1次
6、\+:匹配其前面1或多次
7、\{m\}:精确匹配m次
8、\{m,n\}:匹配至少m次,最多n次
9、.*:匹配任意长度的任意字符
10、^:行首锚定,
11、$:行尾锚定
12、\<:词首锚定(也可以用\b)
13、\>:词尾锚定(也可以用\b)
14、^$:匹配空白行
15、\(\):常与\n(n为数字)一起用,用来匹配某单个或多个字符组合的重现次数
二、扩展正则表达式的元字符含义:
1、.:匹配任何单个字符2、[]:匹配指定范围内的单个字符3、[^]:匹配指定范围外的单个字符4、*:匹配其前面任意次数的字符5、?:匹配其前面0或1次6、+:匹配其前面1或多次7、{m}:精确匹配m次8、{m,n}:匹配至少m次,最多n次9、.*:匹配任意长度的任意字符10、^:行首锚定,11、$:行尾锚定12、\<:词首锚定(也可以用\b)13、\>:词尾锚定(也可以用\b)14、^$:匹配空白行15、():常与\n(n为数字)一起用,用来匹配某单个或多个字符组合的重现次数
16、|:匹配|符号前或后的字符
三、可以匹配正则表达式的命令有:(这里只说grep命令)
1、grep:grep用基本正则表达式来匹配文本行。
格式:grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
选项:
-E:使用扩展正则表达式进行匹配(相当于egrep)
-F:相当于fgrep
-i:匹配时忽略大小写
-v:显示不匹配模式的行
-o:只显示匹配到的行
-q:静默模式
--color=auto:对匹配到的字符做高亮显示
四、例子:
1、显示/etc/passwd文件中以bash结尾的行;
2、显示/etc/passwd文件中的两位数或三位数;
3、 显示'netstat -tan'命令结果中以'LISTEN'后跟0个、1个或多个空白字符结尾的行
4、添加用户bash,testbash, basher以及nologin用户(nologin用户的shell为/sbin/nologin);而后找出/etc/passwd文件中用户名同shell名的行;
5、显示当前系统上root、centos或user1用户的默认的shell和UID;
6、找出/etc/rc.d/init.d/functions文件中某单词(单词中间可以存在下划线)后面跟着一组小括号的行
7、使用echo输出一个路径,而后egrep找出其路径基名;进一步地:使用egrep取出其目录名
8、找出ifconfig命令执行结果中1-255之间的数字;
相关文章推荐
- Linux socket 初步
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝
- vivi下重新调整分区
- Linux VS Unix:Linux欲一统天下 Unix不死
- linux下设定环境变量
- Linux下修改MySQL编码的方法