您好我正在使用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文件的正确方法/代码是什么?。
答案 0 :(得分:2)
您可以再次将tar提取的输出传递给tar command
以运行它。例如:
tar -xvf xyz.tar |grep '\.tar$' | xargs -n 1 | tar -xvf
但是这只会提取一个级别的tar文件,如果提取的tar包含另一个tar,那么你将再次管道它。我希望你明白这一点。