Shell编程三剑客之grep
admin
2023-03-05 11:43:06
0

正则表达式

正则表达式的定义:
正则表达式又称正规表达式、常规表达式。在代码中常简写为 regex、regexp 或 RE。正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串,简单来说, 是一种匹配字符串的方法,通过一些特殊符号,实现快速查找、删除、替换某个特定字符串。
基础正则表达式
以httpd配置文件为例
为了防止失误对httpd的配置文件造成损坏,首先我们先拷贝一份httpd配置文件到别处。
Shell编程三剑客之grep
1)、查找特定字符
可从httpd.txt文件中查找出特定字符“the” 所在位置
可以使用命令:grep -n 'the' httpd.txt
Shell编程三剑客之grep
查找不包含“the”字符的行
可以使用命令:grep -vn 'the' httpd.txt
Shell编程三剑客之grep
2)、利用中括号“[]”来查找集合字符
想要查找“then”与“they”这两个字符串时,可以发现这两个字符串均包含“the”。此时执行以下命令:grep -n 'the[ny]' httpd.txt
即可同时查找到“then”与“they”这两个字符串。“[]”中无论有几个字符,都仅代表一个字符,也就是说“[ny]”表示匹配“n”或者“y”。
Shell编程三剑客之grep
查找包含重复单个字符“oo”时
可以使用命令:grep -n 'oo' httpd.txt
Shell编程三剑客之grep
查找“oo”前面不是“r”的字符串
可以使用命令:grep -n '[^r]oo' httpd.txt
Shell编程三剑客之grep

若不希望“oo”前面存在大写字母,可以使用“grep –n'[^A-Z]oo'httpd.txt”命令实现
Shell编程三剑客之grep

查找包含数字的行可以通过“grep –n '[0-9]' httpd.txt”命令来实现
Shell编程三剑客之grep

3)、查找行首“^”与行尾字符“$”
查询大写字母开头的行使用grep -n '^[A-Z]' httpd.txt
Shell编程三剑客之grep
查询“.”结尾的行使用grep -n '.$' httpd.txt
因为小数点(.) 在正则表达式中也是一个元字符(后面会讲到),所以在这里需要用转义字符“\”将具有特 殊意义的字符转化成普通字符。
Shell编程三剑客之grep
查询空白行时,执行“grep –n ‘^$’ httpd.txt”命令

4)、查找任意一个字符“.”与重复字符“*”
在正则表达式中小数点(.)也是一个元字符,代表任意一个字符,例如,查找以r开头,t结尾,中间两个未知字符的字符串,可以使用命令grep -n 'r..t' httpd.txt。
Shell编程三剑客之grep

查询包含至少两个 o 以上的字符串,则执行“grep –n ‘ooo*’ httpd.txt”命令即可。
Shell编程三剑客之grep

5)、查找连续字符范围“{}”
因为“{}”在 Shell 中具有特殊 意义,所以在使用“{}”字符时,需要利用转义字符“\”,将“{}”字符转换成普通字符
(1)查询两个 o 的字符
grep -n 'o\{2\}' httpd.txt
Shell编程三剑客之grep

相关内容

热门资讯

玩家最新攻略“新版悟空牛牛.到... 家人们!今天小编来为大家解答新版悟空牛牛透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里...
今日重大通报“瓜瓜丰城棋牌.真... 有 亲,根据资深记者爆料瓜瓜丰城棋牌是可以开挂的,确实有挂(咨询软件无需...
重磅消息“新三哥玩十三张.有没... 家人们!今天小编来为大家解答新三哥玩十三张透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪...
【第一消息】“乐游510k.究... 网上科普关于“乐游510k有没有挂”话题很是火热,小编也是针对乐游510k作*弊开挂的方法以及开挂对...
重磅消息“夏天yy.开挂神器?... 有 亲,根据资深记者爆料夏天yy是可以开挂的,确实有挂(咨询软件无需打开...
【今日要闻】“功夫熊猫炸金花.... 家人们!今天小编来为大家解答功夫熊猫炸金花透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪...
重磅消息“新海贝之城拼三张.辅... 重磅消息“新海贝之城拼三张.辅助器?”太坑了原来有挂您好,新海贝之城拼三张这个游戏其实有挂的,确实是...
我来教教您“新版wepoker... 您好:新版wepoker这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家...
重磅消息“乐享牛牛.怎么开挂?... 您好:乐享牛牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游戏...
【今日要闻】“闲来麻将.有挂吗... 【今日要闻】“闲来麻将.有挂吗?”确实真的有挂您好,闲来麻将这个游戏其实有挂的,确实是有挂的,需要了...