20180102-正则表达式和grep


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\)*

猜你喜欢

转载自blog.51cto.com/8123759/2313083