grep 文本过滤

1.命令功能

grep, egrep, fgrep - print lines matching a pattern 根据匹配模式空间(正则表达式)打印结果行。

2.语法格式

grep   [option]   [pattern]   [file]

grep   选项      模式     文件

grep   [option]   [-e pattern | -f file]  [file]

grep    选项     增强正则          文件

grep选项说明

参数

参数说明

-E

后面接的匹配模式就是扩展正则表达式 grep –E =egrep

-i

比较字符时忽略大小写区别

-w

只匹配过滤出的单词。把表达式作为词来查找,相当于正则中的”\<..\>”

-x

被匹配到的内容,正好是整个行,相当于正则”^...$”

-v

取反,输出的内容与定于模式相反的内容

-c

count统计,统计配结果的行数

-o

只显示匹配的内容,该行的其他内容不输出

-R

递归匹配。主要匹配目录下的多个文件内容

3.使用范例

[root@localhost ~]# cat passwd

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

suroot : X:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

adm:x::ADM:/var/adm:/sbin/nologin

Adm:x:3:4:abmIn:/var/adm:/sbin/nologin

lp x lp var/spool/lpd:/sbin/

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

示例1 匹配以‘axm’,a开始,m结束,中间任意字符的行

 

示例2 查询以root开头的行

 

示例3 查找以bash结尾的行

 

示例4 查找包含A或p字符的行

 

示例5 查找不包换a-z和B-Z的内容

 

示例6 只查询特殊字符,不包括字母,数字

 

猜你喜欢

转载自www.cnblogs.com/joechu/p/8988035.html