wget으로 이미지를 다운로드하고 md5 해시를 이름으로 저장하는 방법은 무엇입니까?

wget으로 이미지를 다운로드하고 md5 해시를 이름으로 저장하는 방법은 무엇입니까?

이미지를 다운로드하고, md5로 이미지를 해시하고, wget을 사용하여 md5 해시와 함께 해당 이미지를 디렉토리에 이름으로 저장할 수 있습니까?

# An example of the image link...
http://31.media.tumblr.com/e1b8907c78b46099fd9611c2ab4b69ef/tumblr_n8rul3oJO91txb5tdo1_500.jpg

# Save the image linked with for name the MD5 hash

d494ba8ec8d4500cd28fbcecf38083ba.jpg

# Save the image with the new name to another directory

~/Users/TheGrayFox/Images/d494ba8ec8d4500cd28fbcecf38083ba.jpg

답변1

다양한 방법으로 할 수 있습니다. 약간의 스크립트가 도움이 될 것입니다. 으로 호출할 수 있습니다 /bin/bash myscript.sh http://yourhost/yourimage.ext where_to_save. 대상 디렉터리는 선택 사항입니다.

#!/bin/bash
MyLink=${1}
DestDir=${2:-"~/Users/TheGrayFox/Images/"}   # fix destination directory
MyPath=$(dirname $MyLink)                    # strip the dirname  (Not used)
MyFile=$(basename $MyLink)                   # strip the filename
Extension="${MyFile##*.}"                    # strip the extension 

wget $MyLink                                 # get the file
MyMd5=$(md5sum $MyFile | awk '{print $1}')   # calculate md5sum
mv $MyFile  ${DestDir}/${MyMd5}.${Extension} # mv and rename the file
echo $MyMd5                                  # print the md5sum if wanted

이 명령은 dirname파일 이름에서 마지막 구성 요소를 제거하고, 명령은 basename파일 이름에서 디렉터리와 접미사를 제거합니다.

wget에서 파일을 대상 디렉토리에 직접 저장한 후 md5sum을 계산하고 이름을 바꿀 수도 있습니다. 이 경우에는 를 사용해야 합니다 wget From_where/what.jpg -O destpath. Note는 O0이 아닌 대문자 o입니다 .

답변2

유일한 목적은 intarwebs에서 항목을 가져오는 것이기 때문에 wget이 수행하는 작업은 약간 복잡합니다. 당신은 약간의 상황을 뒤섞어 야 할 것입니다.

$ wget -O tmp.jpg http://31.media.tumblr.com/e1b8907c78b46099fd9611c2ab4b69ef/tumblr_n8rul3oJO91txb5tdo1_500.jpg; mv tmp.jpg $(md5sum tmp.jpg | cut -d' ' -f1).jpg
$ ls *jpg
fdef5ed6533af93d712b92fa7bf98ed8.jpg

항상 copypasta를 사용하는 것은 약간 불쾌하기 때문에 쉘 스크립트를 만들고 "./fetch.sh"로 호출하면 됩니다.http://example.com/image.jpg"

$ cat fetch.sh 
#! /bin/bash

url=$1
ext=${url##*.}
wget -O /tmp/tmp.fetch $url
sum=$(md5sum /tmp/tmp.fetch | cut -d' ' -f1)
mv /tmp/tmp.fetch ${HOME}/Images/${sum}.${ext}

jpg뿐만 아니라 모든 파일 형식에 대해 위 작업이 작동하도록 빠른 편집을 수행했습니다.

관련 정보