第四课-第四讲04_04_grep及正则表达式

第四课-第四讲04_04_grep及正则表达式

1.文件检索
grep,egrep,fgrep :Global Research Print 根据某个模式搜索文本,并将符合模式的文本行显示出来。整行显示部分匹配。
模式Pattern:文本字符和正则表达式的元字符组合而成的匹配条件
grep [option] PATTERN file
-i 忽略大小写
--color
-v 反向查找,没有被模式匹配到的显示出来
-o 只显示被模式匹配到的字符串,而不是显示匹配到的行

'' : 单引号,表示强引用
"" : 双引号,表示弱引用

2.正则表达式 Regular Expression REGEXP
正则表达式默认工作在贪婪模式下,尽量多的尽量长的匹配
回忆前面知识:
文件名通配符匹配字符

  • : 任意长度任意字符
    ? : 任意单个字符
    [] : 范围内字符

元字符
. 匹配任意单个字符
[] 匹配指定范围内的任意单个字符
^ 匹配指定范围外的任意单个字符
字符集合:[:digit:],[:lower:],[:upper:],[:punct:][:space:],[:alpha:],[:alnum:]
匹配次数:

  • 匹配其前面的字符任意次
    \? 匹配其前面的字符一次或 0 次
    {m,n} 匹配其前面的字符最少m次最多n次
    位置锚定

    ^ 锚定行首,次字符后面的任意内容必须出现在行首
    $ 锚定行尾,次字符前面的任意内容必须出现在行尾
    ^$ 空白行
    \<(或者\b) 锚定词首,其后面的任意字符必须作为单词首部出现
    \>(或者\b) 锚定词尾,其前面的任意字符必须作为单词尾部出现
    分组:
    () 把小括号内的内容作为一个整体,2条\是转移符
    主要作用是实现后向引用:
    \1: 引用第一个左括号以及与之对应的右括号所包括的所有内容
    \2: 引用第二个左括号以及与之对应的右括号所包括的所有内容
    \3: 引用第三个左括号以及与之对应的右括号所包括的所有内容
    \4: 引用第四个左括号以及与之对应的右括号所包括的所有内容

He love his lover.
She like her liker.
He like his lover
l..e
grep '(l..e).*\1r' /etc/passwd

猜你喜欢

转载自blog.51cto.com/13788421/2141237
今日推荐