使用bash脚本提取tar文件

时间:2014-04-28 06:05:30

标签: linux bash tar

您好我正在使用Bash脚本,我很难提取tar文件,并且tar文件内部是另一个tar文件。请参阅下面的代码并请向我提供反馈,因为代码所做的唯一事情就是提取第一个tar文件并将其删除。

#!/bin/bash

output=$(df -h)
bundle=$(awk -F = '{print $2}' config.txt)
bundlename=$(echo $bundle | awk -F / '{print $11}')  
echo "$output"

wget $bundle
echo "$bundlename"
tar -xzvf "$bundlename"
rm -vf "$bundlename"

我的问题是提取tar文件中所有tar文件的正确方法/代码是什么?。

1 个答案:

答案 0 :(得分:2)

您可以再次将tar提取的输出传递给tar command以运行它。例如:

tar -xvf xyz.tar |grep '\.tar$' | xargs -n 1 | tar -xvf

但是这只会提取一个级别的tar文件,如果提取的tar包含另一个tar,那么你将再次管道它。我希望你明白这一点。