wget
ทางออกที่ง่ายที่สุดจะติดตั้ง Wgetและดำเนินการคำสั่งต่อไปนี้:
wget --input-file=gwurls.txt
Wget เปลี่ยนชื่อไฟล์เอาต์พุตโดยอัตโนมัติหากไฟล์ที่มีชื่อเดียวกันมีอยู่แล้ว
การเปลี่ยนชื่อ
หากคุณตัดชุดรูปแบบและโฮสต์ (เช่นhttp://example.com/
) จาก URL คุณสามารถแทนที่เครื่องหมายทับทั้งหมดด้วยเครื่องหมายขีดล่าง (หรืออักขระอื่น ๆ ) และบันทึกไฟล์เช่นนั้น เพื่อความปลอดภัยคุณสามารถแทนที่ขีดล่างที่มีอยู่ก่อนด้วยเครื่องหมายขีดล่างคู่
ด้วย bash สิ่งนี้จะทำงาน:
while read -r URL; do
OUTPUT="${URL#http://example.com/}"
OUTPUT="${OUTPUT//_/__}"
OUTPUT="${OUTPUT//\//_}"
curl --output "$OUTPUT" --url "$URL"
done < gwurls.txt
มันทำงานอย่างไร:
while read -r URL; do ... done < gwurls.txt
อ่านเนื้อหาของgwurls.txtละบรรทัดและเก็บสายทั้งหมด (ไม่มีช่องว่างนำหน้าหรือต่อท้าย) ลงในตัวแปรURL...
และดำเนินการ
สามOUTPUT=...
คำสั่งดำเนินการเปลี่ยนดังกล่าวโดยใช้การจัดการสตริงทุบตี
curl --output "$OUTPUT" --url "URL"
ดาวน์โหลดไฟล์และจัดเก็บด้วยชื่อไฟล์ที่ต้องการ
โครงสร้างไดเรกทอรี
นอกจากนี้ยังเป็นไปได้ที่จะสร้างโครงสร้างไดเรกทอรีของเซิร์ฟเวอร์อีกครั้งโดยใช้วิธีการที่คล้ายกัน
ด้วย bash สิ่งนี้จะทำงาน:
while read -r URL; do
OUTPUT="${URL#http://example.com/}"
curl --create-dirs --output "$OUTPUT" --url "$URL"
done < gwurls.txt
นี่--create-dirs
สวิทช์ทำให้ม้วนสร้างไดเรกทอรีa
ถ้าOUTPUTa/1.pdf
อ่าน