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
但是想要在其后面直接加管道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
加上该参数呢?
zcat vsftpd.tar.gz|grep --binary-files=text 'footbar.js'或
zgrep --binary-files=text 'footbar.js' vsftpd.tar.gz
发现可以查看文件内容了 ! 为什么呢?
因为我压缩是用的tar czvf参数进行的打包。其实现上经过tar与gzip两层压缩。导致其直接不能管道。如果不解包想直接查看压缩包里包含了那些文件呢?可以用下面的命令:
[root@back tmp]# tar tvf vsftpd.tar.gz
-rw------- root/root 441453365 2013-06-03 16:19:56 vsftpd.log
原文地址:http://www.361way.com/zcat-tar-zgrep/2550.html
grep命令参考:http://man.linuxde.net/grep
linux下不解包查看tar包文件内容的更多相关文章
- linux下通过sed命令直接修改文件内容
sed是实现对流的编辑.通常,我们使用sed可以实现内容的编辑后然后保存成另外的一个文件,如果正确的话,才写入到源文件.但是某些时候,我们需要直接修改文件,因为,保存文件到一个文件,然后再覆盖原文件的 ...
- 【java】 linux下利用nohup后台运行jar文件包程序
Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...
- linux日常---1、linux下安装、查看、卸载包常用命令
linux日常---1.linux下安装.查看.卸载包常用命令 一.总结 一句话总结: 对比学习 1.linux如何查看系统中安装的程序? rpm -qa # 查看所有安装的软件包 2.linux ...
- find 查找文件 -exec 然后压缩 查看tar包的内容
[root@cs Downloads]# find ./ -name "banner*" -exec tar -cvf k.tar "{}" \; ./bann ...
- 基于linux下的NIST数字测试包安装过程
基于linux下的NIST数字测试包安装过程 1. 首先解决windows文件不能粘贴到Ubuntu的问题 选择利用VMware Tools进行解决 打开虚拟机VMware Workstation,启 ...
- Centos7下安装postgresql(tar包形式安装)
Centos7下安装postgresql(tar包形式安装) 1.官网下载地址: https://www.postgresql.org/ftp/source/ 2.将下载来tar包上传到linux服务 ...
- linux下获取软件源码包 centos/redhat, debian/ubuntu
linux下获取软件源码包 centos/redhat, debian/ubuntu centos下: 1. yum install yum-utils 主要为了获取yumdownloader 2. ...
- [转帖]linux下使用 du查看某个文件或目录占用磁盘空间的大小
linux下使用 du查看某个文件或目录占用磁盘空间的大小 du -ah --max-depth= 去年用过一次 后来忘记了.. 命令这个东西 熟能生巧.. https://www.cnblogs.c ...
- Linux下unix socket 读写 抓包
Linux下unix socket 读写 抓包-ubuntuer-ChinaUnix博客 http://blog.chinaunix.net/uid-9950859-id-247877.html
随机推荐
- Flex 布局教程:语法篇 【转】
Flex 布局教程:语法篇 作者: 阮一峰 日期: 2015年7月10日 原文:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html 网 ...
- C++语言中数组指针和指针数组彻底分析
################################# ## 基本知识 ## ...
- 总结:Bias(偏差),Error(误差),Variance(方差)及CV(交叉验证)
犀利的开头 在机器学习中,我们用训练数据集去训练(学习)一个model(模型),通常的做法是定义一个Loss function(误差函数),通过将这个Loss(或者叫error)的最小化过程,来提高模 ...
- A great tutorial with Jupyter notebook for ML beginners
An end to end implementation of a Machine Learning pipeline SPANDAN MADAN Visual Computing Group, Ha ...
- mybatis的mapper的特殊符号处理
这种问题在xml处理sql的程序中经常需要我们来进行特殊处理. 其实很简单,我们只需作如下替换即可避免上述的错误: < <= > >= & ' " < ...
- bzoj 3252 攻略 长链剖分思想+贪心
攻略 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 889 Solved: 423[Submit][Status][Discuss] Descrip ...
- Qt ------ 初始化构造函数参数,parent
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setup ...
- FreeRTOS - 中断使用注意
原文地址:http://www.cnblogs.com/god-of-death/p/6886823.html 注意点: 1.首先要将中断的嵌套全部设置为抢占优先级. 2.将freertos系统内核中 ...
- vue实现菜单权限控制
大家在做后台管理系统时一般都会涉及到菜单的权限控制问题.当然解决问题的方法无非两种——前端控制和后端控制.我们公司这边的产品迭代速度较快,所以我们是从前端控制路由迭代到后端控制路由.下面我会分别介绍这 ...
- BIRT-商务智能报表工具开发案例指南
BIRT 报表 脚本 开发 数据库 http://www.iteye.com/topic/1128694 打算近期出版一本全面介绍BIRT使用的书籍,能够帮助大家全面了解BIRT的方方面面,用丰富的案 ...