首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解压缩`.tgz`目录,并将其中一个文件解压缩到内存中?

如何解压缩`.tgz`目录,并将其中一个文件解压缩到内存中?
EN

Stack Overflow用户
提问于 2021-06-30 21:17:38
回答 1查看 81关注 0票数 1

TL;博士

如何解压缩文件.tgz,然后选择性地压缩输出?我提取的dir有几个文本文件和一个.nii文件。我想稍后再给你拉链。

详细信息

第一种方法是按顺序执行。不过,我正在处理存储在BeeGFS文件系统上的一个巨大数据集( BeeGFS tar存档),有人告诉我,最好分两步在内存中这样做,因为BeeGFS不喜欢处理这样的大目录。

顺序法:

代码语言:javascript
复制
for tarfile in ${rootdir}/*.tgz; do
  tarpath="${tarfile%.tgz}"
  tar zxvf ${tarfile}       # (1) untar directory
  gzip ${tarpath}/*.nii     # (2) gzip the .nii file
done

有没有一种将(1)和(2)结合起来的方法?或者,对于如何有效地完成这一过程,您还有其他的建议吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-30 21:53:48

您可以从归档文件中提取单个文件(如果您知道文件名),并让tar将其写入标准输出,而不是用-O将其写入文件,然后压缩该流并将其重定向到文件。有点像

代码语言:javascript
复制
tar xzOf "$tarfile" "$tarpath/foo.nii" | gzip -c > "$tarpath/foo.nii.gz"

然后,您可以使用tar xzf "$tarfile" --exclude "*.nii"解压缩存档中的其他所有内容。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68201720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档