したがって、特定の順序でダウンロード可能なリンクのリストがありますが、ファイル名はめちゃくちゃです。
example.com/ddk.zip
example.com/453.zip
example.com/hth.zip
だから、ダウンロード時にリンクリストの順序に従って自動的にプレフィックスを付けたいと思います。それでは、次のようになります。
001_ddk.zip
002_453.zip
003_hth.zip
Bashでこれを達成する方法はありますか?
答え1
これはスクリプトです
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin
prefix=1
while read link; do
filename="$(printf "%03d" $prefix)_${link##*/}"
echo "wget $link -O $filename"
prefix=$((prefix+1))
done < <(cat /tmp/list)
明らかにecho
wgetコマンドを削除して実際に実行しました。
結果:
$ bash script.sh
wget example.com/ddk.zip -O 001_ddk.zip
wget example.com/453.zip -O 002_453.zip
wget example.com/hth.zip -O 003_hth.zip
wget example.com/ddhth.zip -O 004_ddhth.zip
wget example.com/hggth.zip -O 005_hggth.zip
wget example.com/jhkhth.zip -O 006_jhkhth.zip
はい、リンクリストを編集し、前にhttp://またはhttps://を追加する必要があります。