Bash
批量下載一系列文件並為其添加前綴
所以我有一個具有特定順序的可下載連結列表,但文件名混亂
example.com/ddk.zip example.com/453.zip example.com/hth.zip
所以我想在下載它們時根據連結列表的順序自動為它們添加前綴,所以它們看起來像這樣:
001_ddk.zip 002_453.zip 003_hth.zip
有沒有辦法在 Bash 中實現這一點?
這是一段腳本
#!/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://