功能
文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查,打印匹配到的行
命令说明
grep [OPTION]... PATTERN [FILE]..
-v:反向匹配,选择不被匹配的行-i:匹配时忽略大小写-o:公显示匹配到的字符串(默认显示一行)-q:静默模式,不输出任何信息-A #:after,显示匹配到的行及后#行-B #:before,显示匹配到的行及前#行-C #:context,显示匹配到的行及前后各#行-E:使用扩展正则表达式,也可以使用egrep命令代替-F:模式是定长字符串,可以使用fgrep命令代替-G:使用基本正则表达式
正则表达式
基本正则表达式元字符
字符匹配
- .:匹配任意单个字符
- []:匹配指定范围内的任意单个字符
- [^]:匹配指定范围外的任意单个字符
[:digit:]、[:lower:]、[:upper:]、[:alpha:]、[:alnum:]、[:punct:]、[:space:]
匹配次数
- *:匹配前面的字符任意次(0次或多次),
- \?:匹配前面的字符0次或1次
- \+:匹配前面的字符至少1次
- \{m\}:匹配前面的字符m次
- \{m,n\}:匹配前面的字符至少m次,至多n次
\{0,n\}:匹配前面的字符至多n次
\{m,\}:匹配前面的字符至少m次
位置锚定
- ^:行首
- $:行尾
- ^PATTERN$:用于匹配整行
- ^$:匹配空行
- \< 或 \b:词首,用于单词模式的左侧
- \> 或 \b:词尾,用于单词模式的右侧
- \<PATTERN\>:用于匹配整个单词
分组
- \(\):将()内的字符作为一个整体进行匹配,例:\(xy\)* 匹配任意个xy
扩展正则表达式
字符匹配
- .
- []
- [^]
次数匹配
- *
- ?
- +
- {m}
- {m,n}
锚定
- ^
- $
- \<,\b
- \>,\b
分组
()
或者
|