首页 / 操作系统 / Linux / Grep 正则表达式学习笔记
今天我们来了解一下 grepgrep: 基本正则表达式
egrep: 扩展正则表达式
fgrep: 不支持正则表达式元字符,搜索字符串的速度快grep 全称: Global search Regular Exmpression and Printing全面搜索正则表达式并把它打印出来格式 grep [options] "pattern" FILEGrep命令行
-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开头的单词的行。
>
单词的结束 锚定词尾,如"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的行。
= >
锚定单词
() 分组 (pattern)相关阅读:Linux下Shell编程——awk编程 http://www.linuxidc.com/Linux/2013-06/85527.htmLinux下Shell编程——sed命令基本用法 http://www.linuxidc.com/Linux/2013-06/85526.htmLinux下Shell编程——grep命令的基本运用 http://www.linuxidc.com/Linux/2013-06/85525.htmLinux下Shell编程——正则表达式基础与扩展 http://www.linuxidc.com/Linux/2013-06/85523.htm