文本处理工具:
文本搜索工具,根据用户指定的文本模式(搜索条件,支持变量)对目标文件进行逐行搜索,显示能匹配到的行;
语法格式:
grep [option]… ‘PATTERN’ FILE…
–color=auto
正则表达式:
是一类字符所书写的模式,其中许多字符不表示其字母意义,而是表达控制或通配等功能
元字符:不表示其字面意义,而用于额外功能性描述;

基本正则表达式
扩展正则表达式
fgrep:fast,不支持使用正则表达式

注意:模式有变量要使用双引号,其它单双都可以;

export GREP_COLOR='01;32'   修改字体前景色

基本正则表达式的元字符:
字符匹配:
.:匹配任意单个字符
[]:匹配指定范围内的任意单个字符
[0-9] [[:digit:]]
[a-z] [[:lower:]]
[A-Z] [[:upper:]]
[[:space:]] 空白字符
[[:punct:]] 标点符号
[[:alpha:]] 所有字母
[[:alnum:]] 所有字母和数字
[^]:取反
次数匹配元字符:用于实现指定其前面的字符所能够出现的次数
*:任意长度,它前面的字符可以出现任意次
\?:0次或1次,它前面的字符是可有可无的
\{m\}:m次,其前面的字符要出现m次
\{m,n\}:至少m次,至多n次
\{m,\}:至少m次
\{0,n\}:至多n次
.*:任意字符任意次

位置锚定:
^:行首锚定,写在模式最左侧
$:行尾锚定,写在模式最右侧
^$:空白行
不包含特殊字符的连续字符组成的串叫单词
\<:词首锚定
\>:词尾锚定
分组:分组的目的是把一组单个字符组合起来的内容当做一组看待 \(\) 例如\(ab\)* 括号可以嵌套多次
引用:
\(\)*\1 :引用前面第几个括号中所匹配到的内容

命令选项:
-v:反向选取
-o:只显示匹配的字符,而非字串做在的行
-i:忽略字符大小写
-E:支持使用扩展正则表达式
-A #: 多显示后#行
-B #:多显示前#行
-C #: 上下#行

扩展正则表达式:
字符匹配:.
[]
[^]

次数匹配:* :任意次
?:0次或1次,不用加问号
+:至少1次
{m}: 精确匹配m次
{m,n}: 至少m次,至多n次
{m,}: 至少m次
{0,n}: 至多n次
锚定:
^
$
\<: 词首 同\b
\>: 词尾 同\b
^$;空行
^[[:space:]]*$:有空白字符的空行
分组:
()
引用:\1 \2 \3
或者:
a|b

fgrep: 不支持正则表达式

posted on 2017-10-26 15:38  nety2007  阅读(67)  评论(0)    收藏  举报