壳牌编程三剑客之grep

  

正则表达式

  

<强>正则表达式的定义:
正则表达式又称正规表达式,常规表达式。在代码中常简写为正则表达式,正则表达式或再保险。正则表达式是使用单个字符串来描述,匹配一系列符合某个句法规则的字符串,简单来说,是一种匹配字符串的方法,通过一些特殊符号,实现快速查找,删除,替换某个特定字符串。
<>强基础正则表达式
以httpd配置文件为例
为了防止失误对httpd的配置文件造成损坏,首先我们先拷贝一份httpd配置文件到别处。
翱桥票喑倘?椭甮rep”
1),查找特定字符
可从httpd。txt文件中查找出特定字符”“所在位置
可以使用命令:grep - n的httpd。txt
翱桥票喑倘?椭甮rep”
查找不包含“的”字符的行
可以使用命令:grep vn httpd“的”。txt
翱桥票喑倘?椭甮rep”
2),利用中括号“[]”来查找集合字符
想要查找“然后”与“他们”这两个字符串时,可以发现这两个字符串均包含“的”。此时执行以下命令:grep - n httpd的[纽约]。txt
即可同时查找到“然后”与“他们”这两个字符串。“[]”中无论有几个字符,都仅代表一个字符,也就是说“[纽约]”表示匹配“n”或者“y”。
翱桥票喑倘?椭甮rep”
查找包含重复单个字符“oo”时
可以使用命令:grep - n httpd“oo”。txt
翱桥票喑倘?椭甮rep”
查找“oo”前面不是“r”的字符串
可以使用命令:grep - n [^ r] oo httpd。txt
翱桥票喑倘?椭甮rep

  

若不希望“oo”前面存在大写字母,可以使用“grep - n ^ [a - z] oo 'httpd。txt”命令实现
翱桥票喑倘?椭甮rep

  

查找包含数字的行可以通过“grep - n httpd [0 - 9]。txt”命令来实现
翱桥票喑倘?椭甮rep

  

3),查找行首“^”与行尾字符“$”
查询大写字母开头的行使用grep - n ' ^ [a - z]的httpd。txt
翱桥票喑倘?椭甮rep”
查询”。“结尾的行使用grep - n’。美元的httpd.txt
因为小数点(。)在正则表达式中也是一个元字符(后面会讲到),所以在这里需要用转义字符“\”将具有特殊意义的字符转化成普通字符。
翱桥票喑倘?椭甮rep”
查询空白行时,执行“grep - n ^ $ httpd.txt”命令

  

4),查找任意一个字符“。”与重复字符“*”
在正则表达式中小数点(。)也是一个元字符,代表任意一个字符,例如,查找以r开头,t结尾,中间两个未知字符的字符串,可以使用命令grep - n ' r . .t的httpd。txt。
翱桥票喑倘?椭甮rep

  

查询包含至少两个o以上的字符串,则执行“grep - n httpd已坏*。txt”命令即可。
翱桥票喑倘?椭甮rep

  

5),查找连续字符范围“{}”
因为“{}”在Shell中具有特殊意义,所以在使用“{}”字符时,需要利用转义字符“\”,将“{}”字符转换成普通字符
(1)查询两个o的字符
grep - n httpd o \ \ {2}。txt
翱桥票喑倘?椭甮rep

壳牌编程三剑客之grep