예를 들어 텍스트 파일에 단어 목록이 있다고 가정해 보겠습니다.
금욕, 학업, 숙박, 공범, 책임,
각 단어를 URL로 변경하고 터미널 창의 명령을 사용하여 파일을 다운로드하고 싶습니다. 예를 들어 목록의 첫 번째 단어가 abstinence
로 변경되고 해당 폴더에 https://ssl.gstatic.com/dictionary/static/sounds/de/0/abstinence.mp3
파일이 abstinence.mp3
다운로드됩니다. 그런 다음 다음 단어, 즉 abuse
URL이 되고 https://ssl.gstatic.com/dictionary/static/sounds/de/0/abuse.mp3
해당 URL에서 파일이 다운로드됩니다.abuse.mp3
터미널의 명령줄을 사용하거나 명령줄에서 실행되는 스크립트를 사용하여 이 작업을 수행할 수 있습니까?
답변1
용이하게:
while read -d ';' word; do
wget "https://ssl.gstatic.com/dictionary/static/sounds/de/0/$word.mp3";
done < file
설명하다
while read -d';' word
각 줄을 읽고 분리된 각 단어를 (때문에) file
로 저장합니다. 그런 다음 파일이 다운로드되는 위치로 전달됩니다.;
-d';'
$word
wget
답변2
이것은 나에게 효과적입니다.
for word in $(tr -d \; < wordlist.txt); do
wget https://ssl.gstatic.com/dictionary/static/sounds/de/0/$word.mp3
done
답변3
BSD/OS X에서
sed -i '' 's/;/\
/g' mp3.txt && sed -i '' s'/^/wget\ https:\/\/ssl.gstatic.com\/dictionary\/static\/sounds\/de\/0\//g' mp3.txt && sed -i '' s'/$/.mp3/g' mp3.txt && chmod +x mp3.txt && ./mp3.txt
사용 sed
.
답변4
사용할 수 있는 파일 목록을 다운로드하려면wget -i file
file
다운로드할 URL 목록이 포함된 파일의 이름입니다.
자세한 내용은 도움말 페이지를 확인하세요: man wget
.
이러한 URL 목록은 와 같은 텍스트 처리 도구를 사용하여 단어 목록에서 쉽게 구성할 수 있습니다 sed
.