码迷,mamicode.com
首页 > 其他好文 > 详细

第三章 shell学习之正则表达式

时间:2014-08-15 02:52:37      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:shell 正则表达式

正则表达式

\<the\>:精确匹配the,不包括包含the的单词

[^b-d]:不包含b~d

a\{2\}:a出现2次

a\{2,3\}:a出现2~3次

a\{2,\}:a至少出现2次

[:upper:]:大写字母(用的时候外面加一层[]表示匹配字符集合)

[:lower:]:小写字母

[:digit:]:数字

[:alnum:]:大小写字母和数字

[:space:]:表示空格或tab键

[:alpha:]:大小写字母

通配

注意通配和正则表达式不同,虽然有共同的符号

ls -l *.sh

匹配出以.sh结尾的文件,而*在正则表达式中表示0个或多个前面的字符

ls -l 0?.sh

匹配以0开头,且后面跟一个字符,以.sh结尾的文件,而?在扩展正则表达式中表示0个或1个前面的字符

[]和[^]的用法和正则表达式相同

grep

文本搜索工具

grep [选项] [模式] [文件]

-c 只输出匹配韩的数量

-i 忽略大小写

-l 只列出符合匹配的文件名,不列出具体的匹配行

-n 列出所有的匹配行,并显示行号

-s 不显示不存在或无匹配文本的错误信息

-r 递归搜索,不仅搜索当前工作目录,还搜索子目录

-q 禁止输出任何结果,以退出状态表示搜索是否成功

-E 支持扩展的正则表达式

-F 不支持正则表达式,按照字符串的字面意思进行匹配

-h 查询多文件时不显示文件名

-b 打印匹配行距头部的偏移量,以字节为单位,如果与-o结合则为匹配单词距头部的偏移量

-w 匹配整词,即不把模式的正则表达式元字符解释成特殊含义,如cer*就是cer*

-x 匹配整行,即如果匹配word*,则这行字能为word*才算匹配

注意:如果模式有空格则要用引号;文件名可以用通配符(注意不是正则表达式);开头的-也要加\进行转移(以为-选项)


本文出自 “flyclc” 博客,请务必保留此出处http://flyclc.blog.51cto.com/1385758/1540161

第三章 shell学习之正则表达式,布布扣,bubuko.com

第三章 shell学习之正则表达式

标签:shell 正则表达式

原文地址:http://flyclc.blog.51cto.com/1385758/1540161

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!