grep
用来处理正则表达式的主要命令是grep,grep的基本功能是在文本文件中搜索与指定的正则表达式匹配的文本,将其输出至标准输出
grep [options] regex [file...]
常用选项 | 描述 |
---|---|
-i | 忽略大小写 |
-v | 反向匹配,即输出和正则表达式不匹配 |
-c | 输出匹配数量 |
-l | 输出包含匹配项的文件名 |
-L | 输出不包含匹配项的文件名 |
-n | 在输出的文本行之前加上行号 |
-h | 在多文件搜索中禁止输出文件名 |
-E | grep -E <=> egrep,即适用ERE扩展型正则表达式的grep |
当我们只对包含指定字符串的文件感兴趣,那么-l选项是非常有用的;
如果我们对不包含指定字符串的文件感兴趣,-vl可以实现这一功能;
多文件搜索会在匹配的文本行之前加上它所属的文件名,如果对文件不感兴趣,可以使用-h选项
注意-E选项,
元字符和文本字符
所谓的元字符是指表示特定含义的字符,区别于文本字符,正则表达式分为 基本型正则表达式BRE和扩展性正则表达式ERE,它们的不同之处在于:识别的元字符是不同的
BRE:^ $ . [ ] *
ERE:除了上面BRE的元字符,还加入了 ( ) { } ? + |
<