设为首页 收藏本站
查看: 614|回复: 0

[经验分享] 【每天一个linux命令】grep

[复制链接]

尚未签到

发表于 2017-11-18 17:43:11 | 显示全部楼层 |阅读模式
  参考:
  【linux grep命令详解】http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856896.html
  【linux命令中使用正则表达式】http://www.cnblogs.com/Quincy/archive/2012/03/26/2418485.html  
  简介
  grep:一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来
  【grep常用用法】
  grep [-acinv] [--color=auto] '搜寻字符串' filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同
-n :输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :'搜寻字符串' 显示颜色
  【实例】
  1、搜索文件中的字段/行



# 打印有 "hello"的行,不区分大小写,标行号、颜色
[service@ndl-bass-ys-vm-129-186 wy]$ grep -in --color=auto hello yy.log
2:hello,wolrd:nihao
3:HELLO





# 同时有 xx和xxx 的行
[service@ndl-bass-ys-vm-129-186 wy]$ grep -E 'WARNING|FATAL' a.log
WARNING fsjfs
WARNING hello:FATAL/IGNOR
#打印没有"hello"的行
[service@ndl-bass-ys-vm-129-186 wy]$ grep -v hello yy.log              
ERROR suscess
HELLO
# 打印没有 hello 和 error 的行
[service@ndl-bass-ys-vm-129-186 wy]$ grep -v hello yy.log |grep -iv error
HELLO




# a中有,b中没有的
grep -xvf a b
# ab中共同有的
grep -xf a b


#  关键字所在行的 前1行(B1),后2行(A2) 打印出
[service@ndl-bass-ys-vm-129-186 wy]$ grep -B1 -A2 --color=auto hello yy.log  
ERROR suscess
hello,wolrd:nihao
HELLO
suscess
  2、搜索文件



# 搜索当前目录带 error 的文件
[service@ndl-bass-ys-vm-129-186 wy]$ grep -i error *            
Binary file clean.jar matches
new:ERROR suscess
yy.log:ERROR suscess
yy.log:ERRORend


# 当前目录及其子目录
[service@ndl-bass-ys-vm-129-186 wy]$ grep -r ERROR *
new:ERROR suscess
yy.log:ERROR suscess
yy.log:ERRORend


# 当前目录及其子目录,只显示文件名,不显示具体行
[service@ndl-bass-ys-vm-129-186 wy]$ grep -r -l ERROR *
new
yy.log
  grep正则表达式
  1、匹配数字



# 模糊匹配数字
[service@ndl-bass-ys-vm-129-186 wy]$ grep '2017-06-1[0-9]' yy.log   
[INFO2] [2017-06-12 17:34:02][streaming]数据文件清洗-->开始
[INFO3] [2017-06-13 17:34:02][streaming]数据文件清洗-->开始
# 匹配所有有数字的行
[service@ndl-bass-ys-vm-129-186 wy]$ grep '[0-9][0-9]*' yy.log
[1info][2017]
[INFO2] [2017-06-12 17:34:02][streaming]数据文件清洗-->开始
[INFO3] [2017-06-13 17:34:02][streaming]数据文件清洗-->开始
  2、匹配以 xx 开头的



# 匹配以小写字母开头
# a-z,小写字母;a-zA-Z 字母
[service@ndl-bass-ys-vm-129-186 wy]$ grep '^[a-z]' yy.log              
hello,wolrd:nihao
hollo
suscess
# ^[xx] 匹配以xx开头
[service@ndl-bass-ys-vm-129-186 wy]$ grep '^[ERROR]' yy.log   
ERROR suscess
ERRORend
# [^xx]反向匹配;^在[]外是以xx开头,^在[]内反向匹配
[service@ndl-bass-ys-vm-129-186 wy]$ grep ^[^a-zA-Z] yy.log
你好
[1info][2017]
  3、匹配以 xx 结尾



# 匹配以 ] 结尾的
[service@ndl-bass-ys-vm-129-186 wy]$ grep ']$' yy.log
[1info][2017]
[infoend] [dsds]
# 以 . 结尾(.是特殊字符,要 转义字符 \ 匹配)
[service@ndl-bass-ys-vm-129-186 wy]$ grep '\.$' yy.log
hollo.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-408300-1-1.html 上篇帖子: Linux ALSA音频PCM播放编程 下篇帖子: 【转】linux命令(7)sed
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表