I teorien kommer jeg til at spare tid på det når jeg skal sende billeder videre ... men i praksis så tror jeg mit arbejde med at få det lavet gør, at der går et par år før der er en reel tidsgevinst
Jeg har ihvertfald lært noget om bash ...
Kode: Vælg alt
#!/bin/bash
#~ png to jpg converter (imagemagick) made by Thomas Jensen
#~
#~ Usage: conv_png_jpg.sh -n <zip-filename> -p <pixelsize>
#~
#~ Set pixelsize to 0 for original size
#~
function convert_pictures() {
start=$(date +%s)
n=0
for file in *.png; do
filename=${file%.*}
if [[ $fullsize == 1 ]]; then
pixel="full"
convert "${filename}.png" -quality 90 "${filename}_${pixel}.jpg" &>/dev/null
else
convert "${filename}.png" -resize ${pixel}x${pixel} -quality 90 "${filename}_${pixel}.jpg" &>/dev/null
fi
((n++))
done
end=$(date +%s)
runtime=$((end-start))
printf "\n$n filer konverteret på $runtime sekunder\n\n"
zip -q ${zipfilename}_$(date +%Y%m%d)_${pixel}.zip *.jpg
ls *.jpg
rm *.jpg
printf "\nZipped to: $(ls *.zip)\n\n"
}
function error_message(){
printf "\nInvalid option(s). Command should be:\n"
printf "\n\tconv_png_jpg.sh -n <zip-filename> -p <pixelsize> \n\n"
printf "\tSet pixelsize to 0 for original size \n\n"
}
if [ -z "$1" ]; then
fullsize=1
zipfilename=Pictures
convert_pictures #calling function
exit 0
elif [ "$1" != "-n" ] ; then
error_message
exit 1
else # Flags section
while getopts "n:p:" opt; do
case $opt in
n)
zipfilename=$OPTARG
;;
p)
if [[ $OPTARG == 0 ]]; then
fullsize=1
else
pixel=$OPTARG
fi
convert_pictures #calling function
exit 0
;;
\?)
error_message
exit 1
;;
esac
done
fi
convert_pictures
exit 0