2010-12-10 3 views
0

텍스트 파일 ("URLs.txt")에서 ".mp3"URL 목록을 읽는 스크립트가 필요한 이전 도움말을 게시했습니다. ")) ... 숫자 순서 (1,2,3에서 이름을 변경, 각 파일을 다운로드 한 다음에 저장"바탕 화면에 URL을 "폴더 :.TXT 파일에서 Mp3 URL을 읽은 다음 파일을 다운로드하고 이름을 바꾸는 Unix Bash 스크립트 문제

URLs.txt
에 http : // ... 34566.mp3
에 http : // ... 234.mp3
에 http : // ... 126567.mp3

,536,913,632 10

...는 3.mp3


1.MP3
2.mp3
는 조금 후에, 나는 친절하게받은

URL을 데스크탑 폴더 ...된다 Unix bash (Automator에서 사용)에 대한 다음 응답 :

#!/bin/bash 
mkdir -p ~/Desktop/URLs 
n=1 
while read mp3; do 
    curl "$mp3" > ~/Desktop/URLs/$n.mp3 
    ((n++)) 
done < ~/Desktop/URLs.txt 

그러나 스크립트는 정상적으로 실행되지만 "47.mp3"- "49.mp3"범위의 파일 만 다운로드합니다. 스크립트는 멈추지 않고 단지이 범위를 넘어서 아무것도 다운로드하지 않습니다 ...

저는 유닉스 배쉬에게 매우 익숙하며 내 무지를 변명하지만, "50 제한"이 가능할 수도 있습니다 스크립트 또는 웹 페이지?

내 텍스트 파일이 얼마나 많은 URL을 모르겠어요,하지만 난 모든 URL 경로가 올바른지 그리고 모든 잘 보인다 수 있도록 텍스트 파일을 통해 봤는데 잘

49 이상 그건 ...

또한 다운로드 할 수 있는지 실제로 확인하려면 47 - 52을 수동으로 다운로드하십시오.

답변

0

아니요, 고유 한 셸 스크립트 제한이 없습니다.

MP3 파일을 다운로드하는 웹 서버에 너무 짧은 시간 안에 50 다운로드에서 실행되는 속도 제한 기가있을 수 있습니까? 그렇다면 스크립트 속도를 늦춰야합니다.

이 수정을 시도하고 당신이 50 MP3에서 시작하면 어떻게되는지 :

#!/bin/bash 
mkdir -p ~/Desktop/URLs 
n=1 
while read mp3; do 
    ((n >= 50)) && curl "$mp3" > ~/Desktop/URLs/$n.mp3 
    ((n++)) 
done < ~/Desktop/URLs.txt 

당신은 루프에 sleep 호출을 추가 아래로 천천히하십시오.

+0

답장을 보내 주셔서 감사합니다. 나는 스크립트를 실행하고 나에게 50 - 88을 주었고, 그 다음에 89에 실망했다. 스크립트에 "타이머"를 넣어서 "x"초당 하나의 파일을 다운로드 할 수있는 방법이 있는가? 아니면 ... 다른 해결 방법. –

+0

@ user536067 while 루프에서 'sleep x'를 추가하면 다운로드 간 x 초 동안 멈 춥니 다. –