
그래서 특정 순서로 다운로드 가능한 링크 목록이 있는데 파일 이름이 엉망입니다.
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://를 추가해야 합니다.