再探【grep】命令实战
  Li9icm1c4jNW 2023年11月13日 43 0

在web服务器运维过程中我们经常会查看日志,有时候我们需要检索出关键日志信息。受服务器环境限制或软件限制(notpad++仅能打开30M左右的日志文件,且检索速度受限于文件大小;EmEditor很好用,打开文件,检索信息也很快,但是需要把文件下载到本地,内网环境会很快但是云环境下受限带宽,大文件下载速度受到影响,不能及时查看问题;服务器上也可使用vim或者cat命令查看,但是不够方便快捷)检索日志不够方便快速。这里记录一下我实际工作中的操作。

【极简快速】

##检索单个文件
grep -rn '需要检索的信息'  trace.log
##如果列表下有多个日志文件记录 trace.log、trace.log.1、trace.log.2  等 可使用全文件检索
grep -rn '需要检索的信息'  trace.log.*

再探【grep】命令实战_Linux

##统计某条信息出现的次数
grep -c '需要检索的信息'  trace.log

##检索匹配到信息的 m表示显示多少行
grep -A m "需要检索的信息" trace.log #显示匹配到关键字之后m行内容
grep -B m "需要检索的信息" trace.log #显示匹配到关键字之前m行内容
grep -C m "需要检索的信息" trace.log #显示匹配到关键字前后m行内容
#或
grep -Am "需要检索的信息" trace.log #显示匹配到关键字之后m行内容
grep -Bm "需要检索的信息" trace.log #显示匹配到关键字之前m行内容
grep -Cm "需要检索的信息" trace.log #显示匹配到关键字前后m行内容
#或
grep -m "需要检索的信息" trace.log #显示匹配到关键字前m行以及后m行内容


##如果需要显示行号 带上参数n  注意此处n一定要放在A前  n表示行号  m表示显示多少行
grep -nA m "需要检索的信息" trace.log #显示匹配到关键字之后m行内容
grep -nB m "需要检索的信息" trace.log #显示匹配到关键字之前m行内容
grep -nC m "需要检索的信息" trace.log #显示匹配到关键字前后m行内容

【进阶体验】

#多条件组合查找 
grep -E "keyword1|keyword2" trace.log #同时查找两个关键字
grep -E -A m "keyword1|keyword2" trace.log #显示匹配到的之后m行内容
grep -E -B m "keyword1|keyword2" trace.log #显示匹配到的之前m行内容
grep -E -C m "keyword1|keyword2" trace.log #显示匹配到的前后m行内容

有时候我们查看文件内容时不需要全部内容,只需要查看某些列的内容即可。可以使用awk命令配合grep实现只查看某一列。

grep "keyword" trace.log | awk '{print $2}' 
#查看匹配到的内容的第二列  纵向的文件内容  适合查看表格或者其他排列规整的文件

【单独获取关键信息并写入文件】

grep -C 10  'test_a' test.txt > mylog.txt
#将test.txt文件中查找到test_a的前后10行信息输出到文件mylog.txt中

【其他命令】

查看文件前/后m行(m=10)

cat filename | head -n 10     显示文件前面10行
cat filename | tail -n 10     显示文件最后10行
cat filename | head -n 50 | tail -n +10  显示10行到50行 即显示50行之前的10行


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  6YY0QMPUXEwu   2023年12月10日   30   0   0 linux网卡
  Ex81gqy3LOX7   2023年12月07日   19   0   0 linux
  nIt0XG0acU8j   2023年12月11日   31   0   0 linuxhtop
  nIt0XG0acU8j   2023年12月09日   33   0   0 linuxsort