转自马哥linux
grep是linux下强大的文本搜索工具。
命令:grep [option] pattern [FILE]
option: --corlor=auto 把匹配的文本着色
-v 显示不能够被pattern匹配到的行
-i 忽略字符大小写
-o 仅显示匹配到字符串本身
-q 匹配后,不输出任何信息
-A #:显示匹配及之后#行
-B #:显示匹配及之前#行
-C #:显示匹配前后各#行
-E :是用ERE扩展正则表达式
基本正则表达式 pattern
字符匹配:
. | 匹配任意单个字符 |
[ ] | 匹配指定范围内任意单个字符 |
[^] | 匹配指定范围外任意单个字符 |
匹配次数:用在要指定次数的字符后面,用于制定前面的字符出现次数
* | 匹配前面字符任意次(包括0次) |
.* | 任意长度的任意字符 |
\? | 匹配前面的字符0次或1次,即前面可有可无 |
\+ | 匹配前面字符至少1次 |
\{m\} | 匹配前面的字符m次(贪婪模式) |
\{m,n\} | 匹配前面字符至少m次,至多n次 |
位置锚定:
^ | 定位在行首,用于模式最左侧 |
$ | 定位在行尾,用于模式最右侧 |
^PATTERN$ | 用于模式匹配整行,^$表示空行 |
\< | 词首,用于单词模式左侧 |
\> | 词尾,用于单词模式右侧 |
\(\) | 将一个或多个字符捆绑在一起,当作一个整体,\1\2...来调用 |