linux+查看网卡铭,2.1-grep过滤

grep命令   指定格式的字符串,去匹配指定的文档   grep -E ==egrep

grep egrep sed awk 均支持正则表达式

正则表达式:指定格式的字符串,去匹配指定的行

grep --color 'root' /etc/passwd           匹配关键字,高亮显示

grep --color -n 'root' /etc/passwd        匹配关键字,高亮显示,并显示行号

grep --color-c 'root' /etc/passwd        只统计匹配了的总行数,不显示具体内容

grep --color -v 'root' /etc/passwd        显示没有匹配的内容,反选。

grep --color -A2 'root' /etc/passwd       显示匹配行,且匹配行的下2行也打印出来

grep --color -B2 'root' /etc/passwd       显示匹配行,且匹配行的上2行也打印出来

grep --color -C2 'root' /etc/passwd       显示匹配行,且匹配行的上下2行也打印出来

grep --color -r'root' /etc/              递归查找/etc下所有文件中,包含关键字的行

grep --color -rh 'root' /etc/             递归查找/etc下所有文件中,包含关键字的行

去掉第一行的文件路径和名称, -h不显示文件路径和名称

正则表达式中,特殊符号的含义总结:

.  任意1个字符

*  *号前字符的0-无穷个

.*  任意个任意字符

?   ?前字符的0-1个

+   +前字符的1-无穷个

|   |符号前后字符的任意一个(或者关系)

() ()内容为一个整体,需全部匹配

{}  {}内一般是数字,指匹配的次数,可多次匹配。

[]  []内的字符,任意匹配一个即可。

例: grep '[0-9a-zA-Z]' 2.txt        匹配数字和英文的行

grep '^[0-9a-zA-Z]' 2.txt       匹配数字和英文开头的行

grep '[^0-9a-zA-Z]' 2.txt       匹配不是数字和英文开头的行

grep '^$' 2.txt                 匹配空行

grep 'r.o' 2.txt                匹配包含r+任意1个字符+o的行

grep 'r*o' 2.txt                匹配包含o或者ro rro rrr...o的行

grep 'r.*o' 2.txt               匹配r开头o结尾的行 (贪婪匹配)

? + | () {} 符号特殊,使用grep时必须使用转义符\ ,或者参数-E ,或者命令egrep

grep -E 'r?o'                   匹配o或者ro的行

grep -E 'root|nologin' 2.txt    匹配root或者nologin的行   (或者关系)

grep 'root' 2.txt |grep 'nologin'   匹配2次               (并且关系)

egrep '(rr)+' 2.txt              匹配rr的1-无穷个          (整体匹配)

egrep '(rr){1,3}' 2.txt          {}中为匹配次数,可以多次匹配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值