grep系:grep,egrep,fgrep,文本搜索工具,基于PATTERN对于给定的文本进行模糊搜索,grep系默认工作于贪婪模式下。
成都创新互联公司专注于企业全网营销推广、网站重做改版、向阳网站定制设计、自适应品牌网站建设、HTML5、成都商城网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为向阳等各大城市提供网站开发制作服务。
grep:
grep [OPTIONS] PATTERN [FILE...]
PATTERN:过滤条件,是由正则表达式元字符以及没有特殊含义的文本字符组成。
正则表达式元字符:
会被正则表达式引擎解释为特殊含义。 pcre——perl语言的正则表达式引擎。
基本的正则表达式:BRE
扩展的正则表达式:ERE
grep默认仅支持基本正则表达式
egrep默认仅支持扩展正则表达式
fgrep默认不开启正则表达式引擎
文本字符:
只具备字符片面含义的那些字符
常用选项:
-i, --ignore-case 忽略文本字符的大小写
-v, --invert-match 反向匹配,最终显示的结果是PATTREN不能匹配的行
-c, --count 统计匹配PATTERN的所有的行数
-o, --only-matching 关闭贪婪模式,仅显示PATTERN能匹配的内容
-q, --quiet, --silent 不输出任何匹配结果
--color[=WHEN], --colour[=WHEN] 将匹配的PATTREN的内容以特殊颜色显示
-E, --extended-regexp 扩展的正则表达式 grep-E 相当于egrep
-F, --fixed-strings, --fixed-regexp 相当于fgrep
-G, --basic-regexp 基本的正则表达式,egrep -G相当于grep
-P, --perl-regexp 使用PCRE引擎
-A NUM, --after-context=NUM 在显示匹配PATTERN的行同时显示其后面的NUM行
-B NUM, --before-context=NUM
PATTERN;
正则表达式元字符:
基本正则表达式元字符:
GLOBBING-------简化版的正则表达式: [] ? *
字符匹配:
.:匹配任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围以外的任意单个字符
下列所有的字符集都可以放置于[]之中匹配单个字符
[:lower:]
[:upper:]
[:alpha:]
[:digit:]
[:space:] 空格
[:alnum:]
[:punct:]
[:blank:]
[:xdigit:]:所有的十六进制数字
a-z:所有的小写字母
A-Z:所有的大写字母
0-9:所有的十进制数字
次数匹配: 该类字符之前的那个字符可以出现的次数
*:其前面的字符可以出现任意次(0次,1次或多次)
\?:其前面的字符可有可无(0次或一次)
\+:其前面的字符至少出现一次(1次或多次)
\{m\}:其前面的字符必须出现m次
\{m,n\}:至少出现m次,至多出现n次 (m \{,n\}:其前面字符至多出现n次,至少出现0次 \{m,\}:其前面字符至少出现m次 在正则表达式中,表示任意长度任意字符的方式:.* 位置锚定字符: 行锚定: 行首锚定:^ 行尾锚定:$ 字锚定: 字首锚定:\<或\b 字尾锚定:\>或\b \b:旧版本中的锚定方法,建议不使用 对于正则表达式的引擎来说,字是由特殊字符组成的连续字符串 分组与引用字符: \(PATTERN\):将此PATTERN所匹配到的所有字符当做一个不可分割的整体来处理。 在正则表达式引擎中,有一系列内置变量,这些变量会保存所有分组内的字符信息,用于反向引用,这些变量依次是:\1,\2,\3... .. 或: \| 注意:\|将其左右两边的字符串当整体对待。 A\|american:A或american 请找出ifconfig命令中数值在100-255之间的整数: 第一位:1 2 第二位:0-9 0-4 5 第三位:0-9 0-9 0-5 ifconfig | grep '\<\(1[0-9][0-9]\|2[0-4][0-9]\|25[0-5]\)\>' grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...] 默认情况下,grep命令后面只允许有一个PATTERN; 如果想要在依次grep搜索中写多个PATTERN,则需要-e选项,每个-e选项只能使用一个PATTERN作为参数; 将所需要的PATTERN写入到一个文件中,保证每行只有一个PATTERN,我们就可以使用-f的方式实现多PATTERN的匹配; egrep: 下列用法和grep一样 扩展的正则表达式元字符: 字符匹配: . [] [^] 次数匹配: * ? + {m} {m,n} {m,} {0,n} 位置锚定: ^ $ \<,\b \>,\b 分组和引用: () \1,\2,\3... 或: |
本文名称:grep、egrep及相应的正则表达式和用法
当前URL:http://cdweb.net/article/iejiph.html