Linux 使用bash脚本提取tar文件
您好,我正在使用Bash脚本,在提取tar文件时遇到困难,tar文件的内部是另一个tar文件。请看下面的代码,并请提供反馈,因为代码所做的唯一事情就是提取第一个tar文件并删除它Linux 使用bash脚本提取tar文件,linux,bash,tar,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
#!/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文件的正确方法/代码是什么?您可以通过管道将tar提取的输出再次传输到
tar命令来运行它。例如:
tar -xvf xyz.tar |grep '\.tar$' | xargs -n 1 | tar -xvf
但是这将只提取一个级别的tar文件,如果提取的tar包含另一个tar,那么您将不得不再次使用管道传输它。我希望你能明白这一点。你应该从提取的tar文件中再次提取内容。我应该怎么做?你能给我一个示例代码,它将用不同的tar名称在tar文件中提取tar文件吗?添加了一个答案。它回答了这个问题吗?如果是,请将其标记为已回答。我已尝试过。是,它只能提取。但是有没有最简单的方法来提取所有的tar文件呢?