前言

General Regular Expression Parser意为通用正则表达式解析器,即简写为grep。该命令通常用来在文件中搜索字符。

用法

grep命令使用一个选项、一个要匹配的模式还有一个需要搜索的文件,其语法如下所示:

grep [options] PATTERN [FILES]

常规

grep的主要options选项的列表如下表所示:

选项

含义

-c

输出匹配行的数目,而不是输出匹配的行

-E

启用扩展表达式

-h

取消每个输出行的普通前缀,即匹配查询模式的文件名

-i

忽略大小写

-l

只列出包含匹配行的文件名,而不输出真正的匹配行

-v

对匹配模式取反,即搜索不匹配行而不是匹配行

正则表达式

使用正则表达式允许你进行更复杂的匹配,一些字符是以特定方式处理。常用的特殊字符如下表所示:

字符

含义

^

指向一行的开头

$

指向一行的结尾

.

任意单个字符

[ ]

方括号内包含一个字符范围,其中任何一个字符都可以被匹配,例如字符范围a~e,或在字符范围前面加上^符号表示使用反向字符范围,即不匹配指定范围内的字符

如果箱将上述字符用作普通字符,就需要在它们前面加上\字符。如果想使用$字符,你需要将它写为\$。[ ]方括号中还可以使用一些有用的特殊匹配模式(在[ ]中添加如下匹配模式完整字符)。

匹配模式

含义

[:alnum:]

字母与数字字符

[:alpha:]

字母

[:ascii:]

ASCII字符

[:blank:]

空格或制表符

[:cntrl:]

ASCII控制字符

[:digit:]

数字

[:graph:]

非控制、非空格字符

[:lower:]

小写字母

[:print:]

可打印字符

[:punct:]

标点符号字符

[:space:]

空白字符,包括垂直制表符

[:upper:]

大写字母

[:xdigit:]

十六进制数字

对于制定了扩展匹配-E选项,我们还可以在符合正则表达式规则的匹配后添加如下选项,并在这些字符之前加上\字符。

选项

含义

\?

匹配是可选的,但最多匹配一次

\*

必须匹配0次或多次

\+

必须匹配1次或多次

\{n\}

必须匹配n次

\{n,\}

必须匹配n次或n次以上

\{n,m\}

匹配次数在n到m之间,包括n和m

实例

待续。。。