2016-07-04 1 views
0

다운로드 할 이미지 링크 목록이있는 .txt 파일이 있다고 가정 해 봅니다. exaple :파일 이름을 txt 파일의 URL 목록으로 다운로드하여 변경하십시오.

image.jpg 
image2.jpg 
image3.jpg 

내가 사용 cat images.txt | xargs wget 그리고

내가 지금하고 싶은 것은 다음과 같은 형식의 다른 .txt 파일 제공하는 것입니다 잘 작동합니다 :

some_id1:image.jpg 
some_id2:image2.jpg 
some_id3:image3.jpg 

를 내가 ':'에있는 각 행을 분할하고, 오른쪽에 링크를 다운로드하고, 왼쪽에 제공된 ID로 다운로드 한 파일 이름을 변경하는 것입니다.

어떻게 든 wget image.jpg -O some_id1.jpg

를 사용하려면

그래서 출력은 다음과 같습니다

some_id1.jpg 
some_id2.jpg 
some_id3.jpg 

어떤 아이디어?

+0

[bash에서 값 쌍 쌍 반복] 가능한 복제본 (http://stackoverflow.com/questions/28725333/looping-over-pairs-of-values-in-bash) – tripleee

답변

0

등의 작업에 대한 나의 고토는 AWK입니다 :

while read line; do lfn=`echo "$line" | awk -F":" '{ print $1".jpg" }'` ; rfn=`echo "$line" | awk -F":" '{ print $2 }'` ; wget $rfn -O $lfn ; done < images.txt 

이것은 물론, 모든 로컬 파일 이름이 확장 .JPG해야 가정.

관련 문제