grep及正则表达式-创新互联
文本查找的需要:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、雅安服务器托管、营销软件、网站建设、武宁网站维护、网站推广。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
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站标题:grep及正则表达式-创新互联
本文地址:http://scyanting.com/article/ddidhc.html