Linux文本处理三剑客之grep

grep 能做什么

grep 全称为 Global search Regular Expression and Print out the line,全局正则表达式搜索及输出。grep 会在文本文件中进行指定搜索,并可将结果输出出来。

grep 命令选项

grep 通过相应的选项可以满足很多需求。

-i: 搜索时忽略大小写
-n: 显示结果所在的行号
-r: 递归搜索目录下的文件
-c: 统计匹配到的行数,匹配到的总行数而不是次数
-l: 只输出匹配到字符串的文件名
-o: 只显示匹配到的关键词,不显示该完整行,每个符合条件的字符串单独一行
-w: 精确匹配某关键词,字符串中包含该关键词不作匹配
-B[num]:显示匹配行前指定行数的内容
-A[num]:显示匹配行后指定行数的内容
-C[num]: 显示匹配行上下指定行数的内容
-e: 多词匹配,逻辑或
-q: 静默模式,不输出任何信息,可以通过 `echo $?` 查看匹配结果,0 表示匹配成功
-P: 兼容使用 perl 的正则引擎
-E: 扩展正则表达式,相当于使用了 `egrep`

高亮显示

--color=auto 或者指定环境变量 export GREP_OPTIONS='--color=auto' GREP_COLOR='100;8'

或 OR

grep 'pattern1\|pattern2' filename
grep -E 'pattern1|pattern2' filename
egrep 'pattern1|pattern2' filename
grep -e pattern1 -e pattern2 filename

与 AND

grep 没有 AND 操作,但可以模拟一下。

grep -E 'pattern1.*pattern2' filename // 按照指定顺序包含

grep -E 'pattern1.*pattern2|pattern2.*pattern1' filename // 同时包含即可
grep -E 'pattern1' filename | grep -E 'pattern2'

非 NOT

grep -v 'pattern' filename
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值