为了账号安全,请及时绑定邮箱和手机立即绑定

在tar压缩文件中逐行解析压缩后的日志文件

在tar压缩文件中逐行解析压缩后的日志文件

桃花长相依 2021-03-19 10:10:46
我的日志文件具有以下结构:/var/log/2013-12-24.tar.gz该文件具有:2013-12-24/{00,01,02...23}.log.gz档案我需要使用Python解析这些文件,无需提取磁盘或内存上的任何文件有什么建议 ?
查看完整描述

2 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

使用,这是不可能的.tar.gz,这就是原因。

为了创建.tar.gz文件,您必须tar先创建单个.tar文件,然后再创建gzip结果。

.tar可以在不读取整个内容的情况下扫描文件,但只有在tar归档成员相对较大的情况下,它才能很好地工作。这是因为tar没有任何标头在一个紧凑的位置列出所有成员。每个存档成员都有512字节的描述符,比显示下一个描述符的位置还要多。使用大型归档成员,您可以相对快速地在磁盘上找到任意成员的内容,但是您将不得不lseek()多次。

但是,一旦您gzip在上进行了应用.tar,从根本上来说,就不可能迅速获得存档中所有成员的列表,而实际上无法解压缩其内容的可能性就大大降低了。您甚至不得不解压缩整个存档,甚至只是简单地获取其所有成员的列表。

请注意,流行.tar.bz2.tar.xz格式存在完全相同的问题。

您可以使用zip格式对其进行修复。zip之所以具有.tar.gz更大的优势,是因为它确实具有紧凑的索引,该索引在一个位置列出了所有存档成员,并且它允许快速读取该列表并仅提取您需要的文件,而不必提取(压缩).tar.gz遭受苦难的整个存档。


查看完整回答
反对 回复 2021-03-30
  • 2 回答
  • 0 关注
  • 219 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信