grep 大于10的行_Linux 三剑客之grep!

  981ed7f6124a031a3d3722f955192efa.png

不甩锅的码农

行胜于言,和锅锅一起成长。

01

一起来认识 grep!

Linux 命令三剑客,sed、grep、awk。

  • sed:擅长数据修改。

  • grep:擅长数据查找定位。

  • awk:擅长数据切片,数据格式化,功能最复杂。

    grep 可以说是这三个命令中的红人,是我们日常使用频率最高的命令,下面和锅锅一起来搞定它。

02

grep 命令常用可选参数

  • -n # 显示行号。

  • -i # 不区分大小写。

  • -c # 统计匹配行,命中查找字符串的总行数。

  • -v # 显示不包含匹配文本的所有行。

  • -r # 递归处理。

  • -E # 使用正则表达式作为匹配进行查找(注:-e 没有-E 支持的完整)。

  • --include # 指定匹配的文件类型。

  • --exclude # 过滤不需要匹配的文件类型。

使用示例:

  1. grep -i "error" info.log

  2. grep -in  "error" info.log #不区分大小写,并显示行号。

03

grep 同时查找多个文件

  1. grep -in "key"  info.log  warn.log # 从文件info.log 和 warn.log 查找字符串"key",不区分大小写,并显示行号。

  2. grep -n "key"  * # 查询当前目录下所有文件中包含字符串"key",并显示对应的行号。

04

grep 递归查找

前面已经总结过,-r/R参数,即 recursion,递归的意思。

  • grep -rn "key" * # 递归查询当前目录及其子目录所有文件中包含字符串"key",并显示对应的行号。

05

grep 查找对应字符前后 n 行

  • grep -a10 "bug" info.log #查看"bug"字符后的10行,a->after。

  • grep -b10 "bug"  info.log # 查看"bug"字符前的10行,b->before。

  • grep -c10 "bug"  info.log # 查看"bug"字符前后各10行。

06

grep 常用组合命令示例

  • history|grep rm # 查找历史命令中执行了哪些删除命令。

  • cat *.log | grep 'exception' # 查找当前目录下所有log日志中的exception字符行。

  • ps -ef|grep java # 此命令为一般运维中最常用命令,查询linux进程中是否运行了此程序。

  • rpm -qa |grep yum # 查询linux下是否有安装过此rpm包。

  • grep -En '^2020' info.log # 使用正则表达式查找,查找以 2020 开头的行,并显示其行号。

  • grep -rn "warn"  *  --include  "*.log" # 递归查询当前目录及其子目录所有log类型文件中包含字符串"warn",并显示对应的行号。

  • netstat -nap|grep -E "6651"|grep -E "203.130.41.24" # 多个条件过滤查找。

  • tail -1000f info.log | grep -E "aaa|bbb" # aaa 或 bbb 的条件都可以搜索到,这个命令实践中,滚动实时查看日志很常用。

07

grep 相关的拓展命令
  • pgrep:查找正在运行的程序,pgrep 是 grep 的扩展功能,同样的还有 egrep、fgrep。

  • egrep:扩展正则表达式,相当于grep –E。

  • fgrep:不识别解析正则表达式,一般很少用。

08

小结

grep 命令,擅长查找字符串,正向查找,反向查找,正则查找,多文件查找,递归查找等。

grep 查找对应字符前后 n 行,对大日志检索关键字时比较有用。此外 grep 还可以配合其他命令一起大展身手!配合正则表达式,可以更加灵活的实现查找功能,正则表达式相关的内容前面的文章有一些总结。

1

END

1

「转载,请注明来源 "不甩锅的码农" 公众号」封面-红头长尾山雀

微信公众号「留言」功能,腾讯官方在2018-03-12公告对新开通的公众号进行关闭,以响应国家政策。对交流造成不便,可直接对公众号发送信息进行留言!

「往期原创系列推荐」

研发同学必学哪些Linux命令?

Linux 文件与目录命令的必会姿势!

Linux 查看文件内容的5个命令姿势!

Linux 揭开神器 vim 面纱!

Linux 命令三剑客之-sed!

数据结构基础「六」伸展树与二叉堆

数据结构基础「五」红黑树

  981ed7f6124a031a3d3722f955192efa.png

不甩锅的码农

行胜于言,和锅锅一起成长。

1546a7dd7e46c777120c57b42643cdbb.png

关注

你“在看”我吗?

9b5021d8e532aa66f181489902b649a8.png
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值