linux下不解包查看tar包文件内容

简介: linux下不解包查看tar包文件内容

为减少日志文件占用的空间,很多情况下我们会将日志文件以天或周为周期打包成tar.gz 包保存。虽然这样做有利空间充分利用,但当我们想查看压缩包内的内容时确很不方便。如果只是一个tar.gz文件,可以将其解压,再利用grep、awk或vi等工具查看或处理。不过如果有一个月或都一年的日志需要找出某些关键词的行,一个一个的解压,然后再看,是不是很不现实。那有没有什么简便的方法,可以不解压获得我们想要的内容呢?

答案是肯定的,可以利用zutils工具包实现。Zutils 是一组用来处理压缩文件的工具集,支持的压缩档包括:gzip, bzip2, lzip, and xz. 当前版本提供的命令有:zcat, zcmp, zdiff, and zgrep 。

直接查看tar.gz压缩包里的内容可以使用:

zcat xxx.tar.gz• 1

但是想要在其后面直接加管道grep处理呢?如下:

[root@back tmp]# zgrep 'footbar.js' vsftpd.tar.gz
Binary file (standard input) matches
[root@back tmp]# zcat vsftpd.tar.gz|grep 'footbar.js'
Binary file (standard input) matches

发现不论是使用zgrep还是使用zcat后再grep都会报错。难道不行?当然不是。查看下zgrep或grep的帮助文档。有这么一行:

--binary-files=text• 1

加上该参数呢?

zcat vsftpd.tar.gz|grep --binary-files=text 'footbar.js'或
zgrep --binary-files=text 'footbar.js' vsftpd.tar.gz• 1
• 2

发现可以查看文件内容了 ! 为什么呢?

因为我压缩是用的tar czvf参数进行的打包。其实现上经过tar与gzip两层压缩。导致其直接不能管道。如果不解包想直接查看压缩包里包含了那些文件呢?可以用下面的命令:

[root@back tmp]# tar tvf vsftpd.tar.gz
-rw------- root/root 441453365 2013-06-03 16:19:56 vsftpd.log• 1
• 2

原文地址:http://www.361way.com/zcat-tar-zgrep/2550.html

grep命令参考:http://man.linuxde.net/grep

目录
相关文章
|
11天前
|
Linux 数据安全/隐私保护 Windows
命令方式:window向linux传文件
【10月更文挑战第6天】本文介绍了如何在Linux系统中通过命令`ip a`获取IP地址,并在Windows系统下使用CMD命令行工具和SCP命令实现文件传输。示例展示了如何将D盘中的`mm.jar`文件上传至IP地址为192.168.163.122的Linux系统的/up/目录下,最后在Linux系统中确认文件传输结果。
167 65
|
18天前
|
Linux Shell
Linux系统文件默认权限
Linux系统文件默认权限
34 2
|
12天前
|
安全 关系型数据库 MySQL
Linux下安装mysql8.0(以tar.xz包安装--编译安装)
通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。
269 67
|
10天前
|
Linux 开发工具 数据安全/隐私保护
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
这篇文章介绍了在CentOS 7系统中安装Docker时遇到的两个常见问题及其解决方法:用户不在sudoers文件中导致权限不足,以及yum被锁定的问题。
23 2
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
|
6天前
|
Linux Shell 数据库
Linux文件查找新姿势:总有一种你没见过
文件查找是Linux用户提升工作效率的关键技能。本文介绍了几种不常见的文件查找方法,包括使用`find`结合`column`美化输出、利用`locate`和`mlocate`快速查找、编写Shell脚本自动化任务、使用现代工具`fd`以及结合`grep`和`rg`进行内容搜索。此外,还推荐了几款图形界面搜索工具。掌握这些技巧,让你的文件查找更加高效便捷。
28 2
|
13天前
|
Linux C++
Linux c/c++文件的基本操作
在Linux环境下使用C/C++进行文件的基本操作,包括文件的创建、写入、读取、关闭以及文件描述符的定位。
13 0
Linux c/c++文件的基本操作
|
13天前
|
Linux C++
Linux c/c++文件虚拟内存映射
这篇文章介绍了在Linux环境下,如何使用虚拟内存映射技术来提高文件读写的速度,并通过C/C++代码示例展示了文件映射的整个流程。
30 0
|
13天前
|
Linux C++
Linux c/c++文件移动
这篇文章介绍了在Linux环境下,使用C/C++语言通过命令方式和文件操作方式实现文件移动的方法。
43 0
|
5月前
|
运维 Linux
Linux命令(66)之tar
Linux命令(66)之tar
86 6
|
5月前
|
Linux
Linux命令之tar
Linux命令之tar
48 3