加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

grep及正则表达式

发布时间:2020-12-13 22:01:02 所属栏目:百科 来源:网络整理
导读:文本查找的需要: grep,egrep,fgrep grep:根据模式,搜索文本,并将符合模式的文本行显示出来。 Pattern:文本字符和正则表达式的元字符组合而成的匹配条件 grep [OPTIONS] PATTERN [FILE...] -i:忽略大小写 --color:匹配高亮颜色 -v:显示没被匹配到的行

文本查找的需要:

grep,egrep,fgrep

grep:根据模式,搜索文本,并将符合模式的文本行显示出来。

Pattern:文本字符和正则表达式的元字符组合而成的匹配条件

grep [OPTIONS] PATTERN [FILE...]

-i:忽略大小写

--color:匹配高亮颜色

-v:显示没被匹配到的行

-o:只显示被模式匹配到的字符串


正则表达式:GEGular,EXPression,REGEXP

元字符:

.:匹配任意单个字符


匹配次数:

*:匹配其前面的字符任意次

[]:匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

[:digit:],[:lower:],[:upper:],[:punct:],[:space:],[:alpha:],[:alnum:]这个是字符集合

用的时候加双中括号,例如: [[:digit:]]


a,b,ab,aab,acb,adb,amnb

a*b

[root@one ~]# grep a*b test.txt

b

ab

aab

acb

adb

amnb

a.*b

[root@one ~]# grep 'a.*b' test.txt

ab

aab

acb

adb

amnb


?:匹配其前面的字符1次或0次

[root@one ~]# grep 'a?b' test.txt

b

ab

aab

acb

adb

amnb


{m,n}:匹配其前的字符至少m次,至多n次

{1,}至少一次,多了不限

{0,3}最多3次

[root@one ~]# grep 'a{1,3}b' test.txt

ab

aab


位置锚定:

^:锚定行首,此字符后面的任意内容必须出现在行首

[root@one ~]# grep '^r..t' /etc/passwd

root:x:0:0:root:/root:/bin/bash


$:锚定行尾,次字符前面的任意内容必须出现在行尾

[root@one ~]# grep 'b..h$' /etc/passwd

root:x:0:0:root:/root:/bin/bash

vagrant:x:500:500:vagrant:/home/vagrant:/bin/bash

tom:x:501:501::/home/tom:/bin/bash

user3:x:2002:1002:User3,be,110,119:/home/user3:/bin/bash

user4:x:1003:1003:Tony Blare:/home/blare:/bin/bash

user7:x:1006:1006::/home/user7:/bin/bash

apache:x:497:497::/home/apache:/bin/bash

hadoop:x:2003:2003::/home/hadoop:/bin/bash

^$:空白行


&;:其后面的任意字符必须作为单词首部出现

&;:其前面的任意字符必须作为单词的尾部出现

b放在单词前面或者后面,表示锚定词首或者词尾


分组:

()

(ab)*

后项引用

1:引用第一个左括号以及与之对应的右括号所包括的所有内容。

2:

3:


He love his lover.

She like her liker.

He like his lover.

[root@one ~]# grep '(ab)*' test.txt


a

b

ab

aab

acb

adb

amnb

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读