写メール解凍のスクリプト

自分用メモ
ImageMagickがEXIF情報を読めると知って改良.

#!/bin/sh
DECODER="/usr/bin/uudecode"
CONVERT="/usr/bin/convert"
ID="/usr/bin/identify"
# Is there mail ?
if [ ! -e $1 ]
then
exit
fi
# get mail information
FILENAME=`cat $1 | grep filename \
| sed -e 's/^.*\="//' | sed -e 's/"//'`
SUBJECT=`cat $1 | grep Subject | awk '{print $2}'`
# extract image
IMAGEFILENAME=${FILENAME}
#echo IMAGEFILENAME: ${IMAGEFILENAME}
(echo "begin-base64 744 ${IMAGEFILENAME}" ; (cat $1 \
| sed -n '/image/,$p' | sed -n '6,$p')) > tmp
LINES=`wc -l < tmp`
cat tmp | sed -e "`expr $LINES - 4`q" | ${DECODER}
rm -rf tmp
# get EXIF info
`${ID} -verbose ${FILENAME} > EXIFINFO`
# get Original Date Time
DATE=`cat EXIFINFO | grep "Date Time Original"`
DATE=${DATE:24:18}
DATETIME=${DATE:0:4}${DATE:5:2}${DATE:8:2}${DATE:11:2}${DATE:14:2}
#echo ${DATETIME}
# get Size
SIZE=`cat EXIFINFO | grep Geometry`
SIZE=${SIZE:12}
#echo ${SIZE}
IMAGEFILENAME=${DATETIME}.jpg
echo ${IMAGEFILENAME} > FILENAME
#echo IMAGEFILENAME: ${IMAGEFILENAME}
# rotate image
if [ "${SUBJECT:0:1}" = "p" ]
then
#echo "portrait"
${CONVERT} -rotate -270 ${FILENAME} ${IMAGEFILENAME}
rm -rf ${FILENAME}
elif [ "${SUBJECT:0:1}" = "P" ]
then
#echo "portrait"
${CONVERT} -rotate -270 ${FILENAME} ${IMAGEFILENAME}
rm -rf ${FILENAME}
else
mv ${FILENAME} ${IMAGEFILENAME}
fi
# put content by euc-jp
cat $1 | sed -n '/text/,/----/p' > tmp
LINES=`wc -l < tmp`
cat tmp | sed -n "4,`expr $LINES - 1`p" | nkf -e \
> ${IMAGEFILENAME:0:12}.cmt
rm -rf tmp
# end