Wie lade ich ein Bild mit wget herunter und speichere es mit dem MD5-Hash als Namen?

5076
TheGrayFox

Wie kann ich ein Bild herunterladen, md5-Hash das Bild speichern und dieses Bild mit dem MD5-Hash als Namen in einem Verzeichnis mit wget speichern?

# 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 
2

2 Antworten auf die Frage

1
Hastur

Sie können es auf verschiedene Arten tun. Ein kleines Skript wird helfen. Sie können es mit anrufen /bin/bash myscript.sh http://yourhost/yourimage.ext where_to_save. Das Zielverzeichnis ist optional:

#!/bin/bash MyLink=$ DestDir=$ # fix destination directory MyPath=$(dirname $MyLink) # strip the dirname (Not used) MyFile=$(basename $MyLink) # strip the filename Extension="$" # strip the extension   wget $MyLink # get the file MyMd5=$(md5sum $MyFile | awk '') # calculate md5sum mv $MyFile $/$.$ # mv and rename the file echo $MyMd5 # print the md5sum if wanted 

Der Befehl entfernt die dirnameletzte Komponente vom Dateinamen und der Befehl entfernt das basenameVerzeichnis und das Suffix von Dateinamen.

Sie können sogar entscheiden, die Datei direkt von wget im Zielverzeichnis zu speichern und danach die md5sum zu berechnen und umzubenennen. In diesem Fall müssen Sie verwenden wget From_where/what.jpg -O destpath. Hinweis ist ein Kapital o Ound keine Null.

Ich schätze die Erklärung, danke! Einige Bilddateien enthalten * .png-Erweiterungen. Auf einem Mac entspricht md5 unserer md5sum. TheGrayFox vor 9 Jahren 0
0
Falsenames

Das ist etwas komplizierter für wget, da es einzig und allein darum geht, Sachen aus den Intarswebs zu ziehen. Sie müssen wahrscheinlich die Dinge ein wenig umstellen.

$ 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 

Da dies für Copypasta immer etwas abstoßend ist, können Sie einfach ein Shell-Skript erstellen und es mit "./fetch.sh http://example.com/image.jpg " aufrufen.

$ cat fetch.sh  #! /bin/bash  url=$1 ext=$ wget -O /tmp/tmp.fetch $url sum=$(md5sum /tmp/tmp.fetch | cut -d' ' -f1) mv /tmp/tmp.fetch $/Images/$.$ 

Ich habe eine schnelle Bearbeitung vorgenommen, um die oben genannten Funktionen für alle Dateitypen zu verwenden, nicht nur für jpg.

Kein Problem. Wenn Sie einen Mac verwenden, bin ich mir nicht hundertprozentig sicher, ob dies funktioniert. Das konnte ich nur auf einer Linux-Box testen. Falsenames vor 9 Jahren 0