所以我有一个具有特定顺序的可下载链接列表,但文件名很混乱
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://