grep, egrep, fgrep
grep:根据模式,搜索文本,并将符合模式的文本行显示出来
pattern:文本字符和正则表达式的元字组合而成飞匹配条件
grep [options] PATTERN [FILE...]
-i 不区分大小写
--color 给符合标准的查找字符标上颜色
-v 显示没有被模式匹配的行
-o 只显示被模式匹配到的字符串,一个一行
*: 任意长度的字符
?:任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
正则表达式:
元字符:
. : 匹配任意单个字符
匹配次数(贪婪模式,部分匹配)
匹配字符:
* :匹配其前面的字符任意次
.* :任意长度的任意字符
[] :匹配指定范围内的任意单个字符
[^] :匹配指定范围外的任意单个字符
[[:space:]]:空白字符
[[:punct:]]:标点符号
[[:lower:]]:小写字母
[[:upper:]]:大写字母
[[:alpha:]]:大小写字母
[[:digit:]]:数字
[[:alnum:]]:数字和大小写字母
\? :匹配其前面的字符0/1次
\{m,n\}:匹配其前面的字符,至少m次,至多n次
\{1,\}至少一次,最多不限制
\{0,3\}最多三次
位置锚定:
^ 字符:锚定行首,此字符后面的任意内容必须出现在行首
字符 $: 锚定行尾,此字符后面的任意内容必须出现在行尾
^$ :空白行
\<或\b:锚定词首,其后面的任意字符必须作为单词首部出现
\>或\b:锚定词尾,其前面的任意字符必须作为单词尾部出现
分组 \(\):
\(ab\)*:ab可以出现0次/1次
反向引用
\1:引用第一个左括号以及与之对应的右括号所包括的所有内容
\2:引用第二个左括号以及与之对应的右括号所包括的所有内容
\3:引用第三个左括号以及与之对应的右括号所包括的所有内容