![일련의 파일을 일괄 다운로드하고 접두사를 추가합니다.](https://linux55.com/image/153830/%EC%9D%BC%EB%A0%A8%EC%9D%98%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%9D%BC%EA%B4%84%20%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C%ED%95%98%EA%B3%A0%20%EC%A0%91%EB%91%90%EC%82%AC%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%A9%EB%8B%88%EB%8B%A4..png)
그래서 특정 순서로 다운로드 가능한 링크 목록이 있는데 파일 이름이 엉망입니다.
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://를 추가해야 합니다.