You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不解压tar.gz压缩包直接读取其中的CSV文件?

不解压tar.gz归档直接读取内部CSV文件的方法

你需要在不解压归档的情况下读取people-10000.tar.gz里的CSV表格,但用zcat命令输出的内容开头带有tar元数据,用unzip -p又提示文件不是zip格式无法处理。以下是可行的解决方法:

直接读取CSV的正确命令

用tar命令的内置选项可以直接提取指定文件到标准输出,完全不需要解压整个归档:

tar -xOzf people-10000.tar.gz people-10000.csv | head -2

参数说明:

  • -x:执行提取文件操作
  • -O:把提取的内容输出到终端(不写入磁盘)
  • -z:处理gzip压缩的归档文件
  • -f:指定要操作的归档文件路径
  • 最后跟上归档内的目标CSV文件名people-10000.csv

执行后就能得到干净的CSV内容,不会包含tar元数据。

辅助命令:确认归档内的文件名

如果不确定归档里的CSV具体叫什么名字,可以先列出归档内的所有文件:

tar -tzf people-10000.tar.gz

为什么之前的方法失效?

  • zcat仅负责解压gzip层,不会解析tar归档的结构,所以会把整个tar包的内容(包括文件元数据和CSV正文)全部输出
  • unzip只支持zip格式的归档,你的文件是tar.gz(tar归档+gzip压缩),两者格式不兼容,所以执行失败

内容的提问来源于stack exchange,提问作者Artem Novak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:57:00