grep与正则

grep

格式

grep [-cinvABC] ‘word’ filename

选项

-c : 表示打印符合要求的行数

-i : 表示忽略大小写

-n : 表示输出符合要求的行及其行号

-v : 表示打印不符合要求的行数

-A : 后面跟一个数字(有无空格都可),例如-A2表示打印符合要求的行以及下面的行

-B : 后面跟一个数字,例如-B2表示打印符合要求的行以及上面两行

-C : 后面跟一个数字,例如-C2表示打印符合要求的行以及上下各两行

[root@zabbix_test sunfn]# grep -A2 'halt' /etc/passwd
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
[root@zabbix_test sunfn]# grep -B2 'halt' /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
[root@zabbix_test sunfn]# grep -C2 'halt' /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

显示行号

-n : 过滤出带有某个关键字的行,并输出行号

[root@zabbix_test sunfn]# grep -n "root" /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin

-nv : 过滤出不带有某个关键字的行,并输出行好

[root@zabbix_test sunfn]# grep -nv "nologin" /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
6:sync:x:5:0:sync:/sbin:/bin/sync
7:shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8:halt:x:7:0:halt:/sbin:/sbin/halt
23:sunfn:x:1000:1000:sunfn,shuzilm,13061299383,110:/home/sunfn:/bin/bash
24:mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
26:rabbitmq:x:996:994:RabbitMQ messaging server:/var/lib/rabbitmq:/bin/bash

过滤数字

[root@zabbix_test sunfn]# grep '[0-9]' /etc/inittab 
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5

过滤掉所有以#开头的行

grep -v '^#' /etc/sos.conf

过滤掉所有空行和以#开头的行

grep -v "^#" /etc/sos.conf |grep -v "^$"

. 表示任意一个字符

*表示零个或者多个任意字符

{}其内部为数字 表示前面的字符要重复的次数

​ 还可以是一个范围{n1,n2},其中n2大于n1

egrep

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值