场景介绍
服务器上的日志大多数都是对历史日志进行tar.gz压缩(例如:超过一定大小或者定时压缩),当我们需要临时查看历史日志,且又不想解压该日志,需要用到zcat命令进行搜索关键字。
常用命令
zcat命令
# linux需要查看历史日志,且又不想解压该日志,搜索订单编号884381688886关键字
zcat nbsp-2021-05-06-11-82.log.gz | grep -a -C 30 '884381688886'
# grep的选项介绍
-a :将 binary 文件以 text 文件的方式搜寻数据
-r :递归搜索
-v :反向选取
-o :只显示被模式匹配到的字符串,而不是整个行
-i :匹配时不区分大小写
-A 5 :显示匹配到的行时,显示后面的 5 行
-B 5 :显示匹配到的行时,前面的 5 行
-C 5 :显示匹配到的行时,前后的 5 行
-E :使用扩展的正则表达式
其他命令
# 在/data/reports目录下查询test关键字文件
grep -r "test" /data/reports
# 在/etc/目录下,查找带zcwyou关键词的文件
find /etc/ -type f | xargs grep 'zcwyou'
# 在目录/var/zcwyou里,找到.txt后缀的文件,文件名大小写敏感。即只能匹配.txt后缀的
find /var/zcwyou -name '*.txt'
# grep递归检索指定扩展名的文件内容(grep指定文件后缀名)的语法为:
grep -rn --include='*.后缀名' "检索词"
# linux下如何在.gz包中查找指定内容
gunzip -c file.gz | grep '需要搜索的内容'
参考链接
grep检索指定扩展名的文件内容,grep指定文件后缀名
http://www.02405.com/soft/linux/1749.html
Linux grep 命令
https://www.runoob.com/linux/linux-comm-grep.html
查看.tar.gz文件内容(不需要解压)
https://blog.csdn.net/liuxiao723846/article/details/55045517
Linux中grep工具的使用
https://blog.csdn.net/qq_36119192/article/details/82974781
linux下如何在.gz包中查找指定内容
https://blog.csdn.net/weixin_42440768/article/details/111933789