gpt4 book ai didi

linux - 使用 bash 脚本下载和提取解压文件的自动化脚本

转载 作者:太空宇宙 更新时间:2023-11-04 03:59:08 24 4
gpt4 key购买 nike

我在这里创建了一个脚本,该脚本主要是检查磁盘空间,如果磁盘空间有足够的空间,那么它将下载所需的文件,之后它将解压文件 5 次,并且不得解压最后一个 tar.gz 文件。但是当我执行脚本时,我遇到了问题。对于提取侧,它只会提取 1 次,但我已经提取了 5 次。

#!/bin/bash

outout=$(df -h)
file=$(awk -F = '{print $2}' config.txt)
filename=$(echo "$bundle" | awk -F / '{print $11}')
diskspace=$(df -h /var/ | sed '1d' | awk '{print $5}' | cut -d'%' -f1)
allowed=10

address=$(awk -F = '{print $2}' newconfig.txt)

if [ "${diskspace}" -gt "${allowed}" ]; then

# cd "/var/"
wget $bundle
else
echo "Not enough space to download the bundle"
echo $output
exit
fi


i=0
for tarfile in *.tar.gz
do
$(($i++))
[ $i = 5 ] && break
tar -xf "$tarfile"
done

对于config.txt https://www.google.com.ph/files.tar.gz

files.tar.gz里面有5个tar组成

files1.tar.gz -> files2.tar.gz -> files3.tar.gz -> files4.tar.gz -> files5.tar.gz

我应该怎么做才能解压五次,直到显示files5.tar.gz并且不能解压。

非常感谢您的帮助。

最佳答案

由于我无法弄清楚你想要的确切代码,我将给出一个示例代码如何使用 while 循环代替

i=0
tar xf files.tar.gz
while [ $i -lt 4 ];do
((i++))
tar xf files${i}.tar.gz
done

或者使用for来做同样的事情。

for i in "" {1..4};do
tar xf files${i}.tar.gz
done

这些代码执行以下命令

tar xf files.tar.gz
tar xf files1.tar.gz
tar xf files2.tar.gz
tar xf files3.tar.gz
tar xf files4.tar.gz

关于linux - 使用 bash 脚本下载和提取解压文件的自动化脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23600765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com