shell脚本:文本文件
#!/bin/bash
#!/usr/bin/python
#!/usr/bin/perl
grep 文本过滤器
-v:显示不能被匹配到的行
-i:忽略字符大小写
-o:仅显示匹配到的字符串
-E:使用扩展正则表达式(ERE)
\{m\}:匹配前面的字符m次; grep '\{m\}' a.txt
\{m,n\}:匹配前面的字符至少m次,至多n次;
\{m,\}:匹配前面的字符至少m次;
位置锚定:
^:行首锚定
$:行尾锚定
^PATTERN$:用于模式匹配的行
^$:空行
^[[:space:]]*$ 匹配空格
BRE:基本正则表达式
字符匹配:.单个字符 []范围内单个字符 [^]除...外单个字符
[[:digit:]]表示所有数字
[[:lower:]]所有小写字符
[[:upper:]]所有大写字符
[[:alpha:]]所有字符
[[:alnum:]]所有字符及数字
[[:punct:]]所有标点符号
[[:space:]]空格
次数匹配: * \?0次或1次 \+至少一次 \{m\}至少m次 \{m,n\}
位置锚定:^ $ \< \b \> \b
分组: \(\) 将一个或多个字符捆绑在一起,当作一个整体进行处理
例如:\(xy\)*ab
Note:分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中