Comment télécharger une image avec wget et la sauvegarder avec le nom hash md5?
2
Comment puis-je télécharger une image, md5 hacher l'image et enregistrer cette image avec le hachage md5 comme nom dans un répertoire utilisant wget?
# 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
Vous pouvez le faire de différentes manières. Un petit script aidera. Vous pouvez l'appeler avec
/bin/bash myscript.sh http://yourhost/yourimage.ext where_to_save. Le répertoire de destination est une option:
#!/bin/bashMyLink=${1}DestDir=${2:-"~/Users/TheGrayFox/Images/"}# fix destination directoryMyPath=$(dirname $MyLink)# strip the dirname (Not used)MyFile=$(basename $MyLink)# strip the filenameExtension="${MyFile##*.}"# strip the extension
wget $MyLink # get the fileMyMd5=$(md5sum $MyFile | awk '{print $1}')# calculate md5sum
mv $MyFile ${DestDir}/${MyMd5}.${Extension}# mv and rename the file
echo $MyMd5 # print the md5sum if wanted
La commande dirnamesupprime le dernier composant du nom de fichier, ainsi que le basenamerépertoire et le suffixe des noms de fichiers.
Vous pouvez même décider de sauvegarder directement le fichier de wget dans le répertoire de destination, puis de calculer le montant md5 et de le renommer. Dans ce cas, vous devez utiliser wget From_where/what.jpg -O destpath. La note est un capital o Oet non un zéro.
Comme c'est un peu odieux de copier constamment tout le temps, vous pouvez simplement créer un script shell et l'appeler avec "./fetch.sh http://example.com/image.jpg "
Aucun problème. Si vous utilisez un Mac, je ne suis pas sûr à 100% si ce qui précède fonctionnera. Je ne pouvais que tester cela sur une machine Linux.
C’est un peu complexe à faire, car son seul but est de tirer des choses de l’intarwebs. Vous devrez probablement mélanger un peu les choses.
Comme c'est un peu odieux de copier constamment tout le temps, vous pouvez simplement créer un script shell et l'appeler avec "./fetch.sh http://example.com/image.jpg "
J'ai fait un montage rapide pour que ce qui précède fonctionne pour tous les types de fichiers, pas seulement jpg.
la source