grep是我们常用到的从文件或文本中提取匹配行的命令,往往我们都需要简单的使用正则表达式。
grep 根据搜索模式搜索文本,并将符号模式文本的文本行显示出来。
pattern 文本字符和正则表达式的元字符组成的匹配条件,正则匹配工作在贪婪模式下,即尽可能多的匹配。
grep
-i 忽略大小写
--color 颜色标记
-v 显示没有匹配的行
-o 只显示被模式匹配到的字符
xin@xin ~ $ grep --color "root" /etc/passwd
root:x:0:0:root:/root:/bin/bash
正则表达式:
元字符:
. 任意单个字符
[] 匹配指定范围内的任意单个字符
[^] 匹配指定反胃外的任意单个字符
字符集合:
[:dight:] 数字
[:lower:] 小写字母
[:upper:] 大写字母
[:punct:] 特殊符号
[:space:] 空格
[:alpha:] 大小写字符
[:alnum:] 字母和数字
匹配次数
* 匹配前面字符任意次
.* 匹配任意长度任意字符
? 匹配前字符一次或零次
\{m,\n} 至少m次,最多n次
位置锚定
^ 锚定行首
$ 锚定行未
^$ 空白行
\< 后面的字符必须作为单词的首部
\> 后面的字符必须作为单次的尾部
分组
\(\) 将其间的内容作为一个整体
\1 左边第一个括号内的内容在该位置再次出现