grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
使用grep搜索某个关键字时,默认搜索出来的是所有包含该关键字的行,如下:
搜索/var/named/veredholdings.cn_zone文件中172.16.50.24所在的行,默认会把所有包括172.16.50.24所在的行打印出来。
[root@uatdns01 ~]# cat /var/named/veredholdings.cn_zone|grep 172.16.50.24
devzl-app01 IN A 172.16.50.243
devzl-app02 IN A 172.16.50.244
devzl-redis01 IN A 172.16.50.245
devzl-redis02 IN A 172.16.50.246
devzl-redis03 IN A 172.16.50.247
devzl-oracle01 IN A 172.16.50.242
wiki02 IN A 172.16.50.24
[root@uatdns01 ~]# cat /var/named/veredholdings.cn_zone|grep 172.16.50.24 --color
devzl-app01 IN A 172.16.50.243
devzl-app02 IN A 172.16.50.244
devzl-redis01 IN A 172.16.50.245
devzl-redis02 IN A 172.16.50.246
devzl-redis03 IN A 172.16.50.247
devzl-oracle01 IN A 172.16.50.242
wiki02 IN A 172.16.50.24
[root@uatdns01 ~]# cat /var/named/veredholdings.cn_zone|grep -o 172.16.50.24
172.16.50.24
172.16.50.24
172.16.50.24
172.16.50.24
172.16.50.24
172.16.50.24
172.16.50.24
要想精确地搜索出文件中某个单词所在的行,而不是打印所有包括该单词字样的行,可以使用grep -w参数
-w(--word-regexp):表示强制PATTERN仅完全匹配字词
[root@uatdns01 ~]# cat /var/named/veredholdings.cn_zone|grep -w 172.16.50.24
wiki02 IN A 172.16.50.24
或者使用grep "\<\>"形式也可以实现精确匹配
[root@ua