在这种情况下,我想从嵌套的tar.gz中提取文件。.tar.gz的结构如下
我只想从test.log文件中提取test.tar.gz文件。我见过这 post,我们可以用它提取tar.gz文件,但不能在嵌套级别中提取。
我正在添加tar data1.tar.gz的输出文件夹结构可能有点不同,因为手动输入了上面的结构。
data1/.
data1/META.json
data1/TEMP
data1/TEMP/temp-2
data1/TEMP/temp-2/1-chksum.txt
data1/TEMP/temp-2/1
data1/TEMP/temp-2/1/otherfiles
data1/TEMP/temp-2/1/otherfiles/2016_06_24.tar.gz因此,test.log文件存在于2016_06_24.tar.gz内的嵌套文件夹中。
发布于 2016-07-28 20:11:28
假设data4 & etc是压缩test2.tar.gz归档的成员,并使用GNU焦油 --条形组件选项:
tar xzOf ./test.tar.gz data1/data2/data3/test2.tar.gz | \
tar xzf - --strip-components=2 data4/data5/test.log..。它告诉第一个tar将嵌套的压缩tar文件提取为stdout,然后告诉第二个tar接受输入的文件,只提取data4 4/data4 5/test.log文件,去掉前两个组件。这将在当前目录中删除test.log文件。如果您没有GNU,只需删除--条形组件选项,该文件将与存档的路径一起提取。
https://unix.stackexchange.com/questions/298952
复制相似问题