grep: Global research express pattern
根据模式搜索文本,并将符合模式的文本行显示出来
pattern:文本字符和正则表达式的元字符组合而成的匹配条件
grep [OPTIONS] PATTERN [FILE...]
-i --ignore-case
--color
-v 显示没有模式匹配的行
-o 只显示被模式匹配到的字符串
*:任意长度的任意字符
?:任意当个字符
[]:范围内的任意字符
[^]:范围内之外的任意字符
字符集合:[:digit:], [:lower:],[:upper:],[:punct:],[:alpha:],[:alnum:]
正则表达式:Regular expression,REGEXP
元字符:
.:匹配任意当个字符
匹配次数(贪婪模式):
*:匹配器前面的字符的任意次数
.*: 任意长度的任意字符
\?:匹配前面的字符0次或者1次 , \是用来转义的
\{m,n\}:匹配其前面的字符至少m次,至多n次
位置锚定:
^:锚定行首,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符前面的任意内容必须出现在行尾
^$:空白行
grep ‘^$’ /etc/inittab | wc –l
grep '[[:digit:]]$' /etc/inittab
\<或者\b:锚定词首,其后面的任意字符必须做完单词首部出现,锚定前面就放在前面
\>或者\b:锚定词尾,其前面的任意字符必须作为单词的尾部出现,锚定后面就放在后面
\<root\>:root必须作为一个单词字符串出现
# grep ‘\<root\>’ /ect/passwd
分组:
\(\)
\(ab\)*