设为首页 加入收藏

TOP

Grep 正则表达式学习笔记
2014-11-24 03:11:40 来源: 作者: 【 】 浏览:1
Tags:Grep 正则 表达式 学习 笔记

今天我们来了解一下 grep


grep: 基本正则表达式
egrep: 扩展正则表达式
fgrep: 不支持正则表达式元字符,搜索字符串的速度快


grep 全称: Global search Regular Exmpression and Printing全面搜索正则表达式并把它打印出来


格式 grep [options] 'pattern' FILE


Grep命令行
-f File,--file=File:从文件中提取模板。空文件中包含0个模板,所以什么都不匹配。
-h,--no-filename:当搜索多个文件时,不显示匹配文件名前缀。
-i,--ignore-case:不区分大小写
-q,--quiet:取消显示,只返回退出状态。0则表示找到了匹配的行。
-l,--files-with-matches:打印匹配模板的文件清单。
-L,--files-without-match:打印不匹配模板的文件清单。
-n,--line-number:在匹配的行前面打印行号。
-s,--silent:不显示关于不存在或者无法读取文件的错误信息。
-v,--revert-match:反向选取,只显示不匹配的行。
-w,--word-regexp:如果被\<和\>引用,就把表达式做为一个单词搜索。
-E,使用扩展的正则表达式。
-O,只显示被模式匹配到的字符串。
-r, 递归搜索所有文件。


特殊字符


^
行的开始 如:'^root'匹配所有以root开头的行。



$
行的结束 如:'/bin/bash$'匹配所有以/bin/bash结尾的行。



.
匹配一个非换行符的字符 如:'r.*h'匹配r后接一个任意字符,然后是h。


*
匹配零个或多个先前字符 如:'root*'匹配所有一个或多个空格后紧跟root的行。 .*一起用代表任意字符。



[]
匹配一个指定范围内的字符,如'[Rr]oot'匹配Root和root。



[^]
匹配指定范围外的任意单个字符
\(..\)
标记匹配字符,
\<
单词的开始 锚定词首,如:'\\>
单词的结束 锚定词尾,如'grep\>'匹配包含以grep结尾的单词的行。
x\{m\}
重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。
x\{m,\}
重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。
x\{m,n\}
重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。
\b = \>
锚定单词
\(\) 分组 \(pattern\)


相关阅读


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇通过 Python 装饰器实现DRY(不重.. 下一篇用doxys生成C++文档

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C++ 语言社区-CSDN社 (2025-12-24 17:48:24)
·CSDN问答专区社区-CS (2025-12-24 17:48:22)
·C++中`a = b = c`与` (2025-12-24 17:48:19)
·C语言结构体怎么直接 (2025-12-24 17:19:44)
·为什么指针作为c语言 (2025-12-24 17:19:41)