grep过滤用法介绍(二)

本文详细介绍了grep命令的多种高级用法,包括正则表达式的特殊字符应用、空行匹配及排除、特定字符和字符串的查找等技巧。通过具体实例演示了如何利用grep进行高效文本搜索。

grep过滤用法介绍(二)

背景:(1)alias cgrep=‘grep --color’

    (2)cp /etc/passwd  1.txt

1、 cgrep -n ‘root’ 1.txt 包含root所在,行数。

wKioL1jOSe-j6Z89AAALgeQK9tM533.png-wh_50

2、 cgrep -v 'nologin' 1.txt 不包含nologin。

wKiom1jOSmfRVyEqAAAPq0vMcCE409.png-wh_50

3、 cgrep '[0-9]' 1.txt 包含所有0-9中间数字包含任意一个的行。

wKioL1jOSunjYMrDAAAXBtj3TH4874.png-wh_50

4、 cgrep '[a-zA-Z]' 1.txt 过滤所有字母。

wKiom1jOS6Pg7ftJAAAXPB8s-cY547.png-wh_50

5、cgrep '^[a-z]' 1.txt 过滤以小写字母开头的行。

wKiom1jOTjSBAUsvAAAWCIhQqiw937.png-wh_50

6、cgrep ‘^[^0-9]’2.txt 与 cgrep -v ‘^[0-9]’2.txt 区别,如下图截图:

wKioL1jObfHSqp9xAAAY9WkOGJE795.png-wh_50

[]里面的^表示取非!上例表示不以数字开头的行!

7、如何表示空行,^表示开头 $表示结尾

cgrep '^$' 1.txt 表示空行

8、cgrep -v '^$' 1.txt 空行之外的行

9、必记知识点:

.表示任意一个字符,如:字母,符号,空格,数字,#

*表示零个或多个星号前面的字符,如:r*o 则:o ro rro,。。。

+表示一个或多个加号前面的字符,如:r+o 则:ro rro  rrro(egrep使用)

?表示一个或零个问号前面的字符,如:r?o,则:o ro(egrep使用)

.*任意的,贪婪匹配

grep的遍历:grep -r ‘root’ /etc/*

注意:

其中+和?grep不支持,只有egrep支持

grep -E==egrep

wKioL1jOcGijCXZ7AAAUvOkBy2M313.png-wh_50



     本文转自品鉴初心51CTO博客,原文链接:http://blog.51cto.com/wutengfei/1908189,如需转载请自行联系原作者






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值