grep的高级参数

继续鸟哥的linux学习


1 grep [-A] [-B] [ -- color=auto] "搜寻的字符串"  filename


参数 : -A 后面加数字,为after的意思,除了列出该行外,后面n行也列出来

 -B 后面加数字,为berore,除了列出该行外,前面n行也列出来


例如  :  dmesg 列出内核信息,用grep找不包含eth的哪行


e1000 0000:02:01.0: eth0: (PCI:66MHz:32-bit) 00:0c:29:6f:23:dc
e1000 0000:02:01.0: eth0: Intel(R) PRO/1000 Network Connection
e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
eth0: no IPv6 routers present
8021q: adding VLAN 0 to HW filter on device eth0
eth0: no IPv6 routers present
[root@localhost ~]# 


包含eth的都找出来啦,并且是红色的


例如 : 把关键词所在的行的前三行和后三行都输出来



另外 grep每次加上 --color=auto很麻烦,所以使用alias别名

在 ~/.bashrc 内加上alias grep='grep --color=auto'

再 source~/.bashrc 来立即生效


练习:

 查找特定的字符串


grep -n '字符串' test.txt

-n        显示行号

'字符串' 要匹配的字符串


若是反向选择,则加上 v

grep -vn '字符串' test.txt


不区分大小写   参数   i

----------------------------------------------------------------

[] 里面是可以多选则的,代表[]中的一个字符


例如

grep -n '人[们啊]' test.txt


若不想要某个字符开头的则使用  ^ (在[]内使用)


例如不要男开头的

grep -n '[]^男]人' test.txt


匹配了所有的人,但是不包含男人

^与[]结合

grep -n '[^男女]人' test.txt

------------------------------------------------------------------

行首与行尾字符   ^行首    $行尾

例子:以    ^我   开头 

grep -n '^我' test.txt


以 我$ 结尾

grep -n '我$' test.txt


------------------------------------------------------------------

例如 


找到空白行


grep -n '^$' test.txt


今天就到这了,明天继续









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值