如何一步将文件从一个 tarball 提取到另一个 tarball?

如何一步将文件从一个 tarball 提取到另一个 tarball?

我有一些相当大的 tarball 存档,需要从中提取一些文件。稍后我将重新打包这些文件,以将它们传输到另一台服务器。目前,对我来说,这是一个两步(多步)过程:

mkdir ttmp
tar -vxzf large.tgz -C ttmp/ --strip-components=<INT> <folder-to-be-extracted>

或者使用通配符

mkdir ttmp
tar -vxzf large.tgz -C ttmp/ --strip-components=<INT> \
    --wildcards --no-anchored '*pattern*'

然后我继续重新压缩创建的文件夹

tar -vczf small.tgz ttmp/*
rm -rf ttmp

我怎样才能将这两个命令合并为一个?像这样

tar -x large.tgz > tar -c small.tgz 

只是为了展示我已经尝试过的方法:

每当我搜索“提取物”这个词时,我最终都会这里或者这里或者即使在这里。当我使用“分裂”这个词时,我最终会这里这绝对不是我想要做的。当我使用“重新打包”时,我最终进入了奇怪的地方。

相关内容