複数のコマンドをネストしたループに結合する方法は?

複数のコマンドをネストしたループに結合する方法は?

wgetシェルスクリプトには、7zおよび3つのコマンドがありますrm

list.txt 内部

URL1 archive_01.zip  
URL2 archive_02.zip  
URL2 archive_03.zip

アーカイブのダウンロード:

while read -r url filename; do
    wget -O "$filename" "$url";
done < list.txt  

$ls
アーカイブ_01.zip
アーカイブ_02.zip
アーカイブ_03.zip

ファイルを解凍します。

for file in *zip; do
    7z x $file;
done

$ls
archive_01.zip
archive_02.zip
archive_03.zip
フォルダ_01
フォルダ_02
フォルダ_03

ファイルの削除:

rm *zip

これら3つのコマンドをネストしたループにすることは可能ですか?それではどうですか?

上記のコマンドが次のように実行されるかどうか疑問に思います(私の記憶が正しい場合)。

URL1ダウンロード> URL2ダウンロード> URL3ダウンロード
アーカイブ抽出1>アーカイブ抽出2>アーカイブ抽出2アーカイブ
削除1>アーカイブ2削除>アーカイブ3削除

実行をこのように見せるには?

URL1ダウンロード>アーカイブ1の抽出>アーカイブ1の
削除URL2のダウンロード>アーカイブ2の抽出>アーカイブ2の削除
URL3のダウンロード>アーカイブ3の抽出>アーカイブ3の削除

ベストアンサー1

このような?

#! /bin/bash -

while read -r url filename; do
    wget -O "$filename" "$url"
    7z x "$filename"
    rm -- "$filename"
done < list.txt

おすすめ記事