作業日記@HatenaBlog

各種の作業メモ

新しいシェルスクリプト

#!/bin/sh

DIRPATH=`dirname $0`

for FILES in $DIRPATH/image*.jpg ; do

if [ ! -e $FILES ]; then
exit 0
fi

FILENAME=`basename $FILES`
FILENMBR=$(echo $FILENAME | sed 's/.*\(.\{21\}\)$/\1/' | sed 's/^\(.\{12\}\).*/\1/')
#FILEINFO=`ls -l $FILES`

TIMESTAMP1=$(expr $(expr $(echo $FILENMBR | sed 's/.*\(.\{4\}\)$/\1/') / 5) \* 5 | awk '{printf "%04d",$1}' )
TIMESTAMP2=$(echo $TIMESTAMP1 | sed 's/^\(.\{2\}\).*/\1/')":"$(echo $TIMESTAMP1 | sed 's/.*\(.\{2\}\)$/\1/')

DAYSTAMP=$(echo $FILENMBR | sed 's/^\(.\{8\}\).*/\1/' | sed 's/.*\(.\{2\}\)$/\1/')
MONTHSTAMP=$(echo $FILENMBR | sed 's/^\(.\{6\}\).*/\1/' | sed 's/.*\(.\{2\}\)$/\1/')
YEARSTAMP=$(echo $FILENMBR | sed 's/^\(.\{4\}\).*/\1/')

DATESTAMP=$YEARSTAMP"/"$MONTHSTAMP"/"$DAYSTAMP","$TIMESTAMP2

TONAME1=$DIRPATH"/p"$TIMESTAMP1".jpg"
TONAME2=$DIRPATH"/p"$TIMESTAMP1"t.jpg"
TONAME3=$DIRPATH"/anim_tmp/p"$TIMESTAMP1".jpg"

#BINDIR="/usr/local/bin"

convert -geometry 128x96 $FILES $TONAME2

pbmtext -font $DIRPATH/font.pbm $DATESTAMP | pnmcrop | pnmpad -white -left=1 -right=1 -top=1 -bottom=1 > $DIRPATH/timestamp1.pbm
pnmpad -white -left=1 -right=1 -top=1 -bottom=1 < $DIRPATH/timestamp1.pbm > $DIRPATH/timestamp2.pbm
pnmcomp -align=right -valign=bottom $DIRPATH"/"timestamp1.pbm $DIRPATH/white.pbm > $DIRPATH/mask1.pbm
pnmcomp -align=right -valign=bottom $DIRPATH/timestamp2.pbm $DIRPATH/white.pbm > $DIRPATH/mask2.pbm

djpeg -pnm $FILES > $DIRPATH/JPGTOPPM.ppm

pnmcomp -alpha=$DIRPATH/mask1.pbm $DIRPATH/JPGTOPPM.ppm $DIRPATH/black.pbm | pnmcomp -alpha=$DIRPATH/mask2.pbm - $DIRPATH/white.pbm | pnmtojpeg --quality=85 > $TONAME1


#if [ $TIMESTAMP1 -le 0030 -o $TIMESTAMP1 -ge 0500 ]; then
if [ $TIMESTAMP1 -ge 0500 ]; then
convert -geometry 256x192 $TONAME1 $TONAME3
elif [ $TIMESTAMP1 -eq 0100 ]; then
convert -loop 0 -delay 15 $DIRPATH"/anim_tmp/p*.jpg" $DIRPATH"/anim_tmp/24anim.gif"
elif [ $TIMESTAMP1 -eq 0430 ]; then
mv $DIRPATH"/anim_tmp/24anim.gif" $DIRPATH"/24anim.gif"
fi

rm $FILES
rm $DIRPATH/JPGTOPPM.ppm
rm $DIRPATH/mask[1-2].pbm
rm $DIRPATH/timestamp[1-2].pbm

done

exit 0

やあ、記述がすっきりヽ(´▽`)ノ