Score:0

วิธีดาวน์โหลดไฟล์จากไฟล์ข้อความ

ธง co

ฉันมีไฟล์ข้อความหลายไฟล์ เช่น a0001.txt, a0002.txt...ไม่เกิน a0900.txt ที่มีลิงก์รูปภาพโดยตรง https://example.com/photos/example.jpg

ฉันต้องการดาวน์โหลดชุดลิงก์ทั้งหมดจาก a0001.txt ไปยังโฟลเดอร์ a0001 และอื่น ๆ ในชื่อโฟลเดอร์ตามลำดับเป็นไฟล์ข้อความ

ต้องดาวน์โหลดลิงก์ตามลำดับรูปภาพจึงจะเปลี่ยนชื่อด้วยคำนำหน้า เพื่อการคัดแยก.

สิ่งที่ฉันพยายามอยู่ด้านล่าง แต่มันโหลดทีละไฟล์ ช้ามาก มีวิธีอื่นที่จะทำควบคู่กันไปไหม?

#! /usr/bin/env
บาชิฟ [ -z $1 ] || egrep -qv '^https?:\/\/[^[:space:]]+' $1; แล้ว
  echo "การใช้งาน: $0 FILE"
  echo "FILE ต้องเป็นรายการ URL ที่คั่นด้วยบรรทัดใหม่"
  ทางออก
ไฟ

INPUT_FILE=$1
OUTPUT_DIRECTORY="${INPUT_FILE%.*}"

mkdir -p $OUTPUT_DIRECTORY

ฉัน=1
ขณะอ่าน URL; ทำ
  FILENAME="${URL##*/}"
  curl -L $URL > "${OUTPUT_DIRECTORY}/${i}_${FILENAME}"
  ฉัน=$(($ฉัน+1))
เสร็จแล้ว < $INPUT_FILE
terdon avatar
cn flag
สาย Shebang ของคุณเป็นจริง `#! /usr/bin/env` หรือคุณหมายถึง `#! /usr/bin/env bash`?
waltinator avatar
it flag
วางสคริปต์ของคุณใน `https://shellcheck.net` ซึ่งเป็นตัวตรวจสอบไวยากรณ์เสมอ หรือติดตั้ง `shellcheck` ในเครื่อง ใช้ 'shellcheck' เป็นส่วนหนึ่งของกระบวนการพัฒนาของคุณ
FedKad avatar
cn flag
คุณสามารถเริ่มกระบวนการ `curl` พร้อมกันได้โดยต่อท้าย `&` ต่อท้ายคำสั่ง แต่คุณไม่ควรเริ่มกระบวนการมากเกินไป ตัวอย่างเช่น ในการวนซ้ำทุกๆ 10 ครั้ง คุณสามารถเรียกใช้คำสั่ง 'รอ' ได้
waltinator avatar
it flag
อ่าน `man seq` สำหรับสร้างสตริง "`A00001, ..., A0900` ต่อท้าย "`&`" ต่อท้ายคำสั่ง `curl`"

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา