Good morning -chat

Since my {scripting,basic utils} skills are *really* low, I'd like to ask you for some help.

The context: I'm trying to sort a directory containing around 10 000 jpeg files (20 G). These files are pictures from a digital camera, many files have been copied/renamed and many others have been modified/renamed. I want to remove duplicates and modified files, while keeping original pictures.

The details: In order to sort files, I need some information about them, fortunately I can get this information from exif data that is stored in the files. Before anything else, I need to collect data for each file, for that I use a utility called jhead. Here is an example of what gives jhead :

JPG_Files > jhead 2005_0101_032039.jpg
File name    : 2005_0101_032039.jpg
File size    : 2377332 bytes
File date    : 2005:01:01 03:20:42
Camera make  : FUJIFILM
Camera model : FinePix S602 ZOOM
Date/Time    : 2005:01:01 03:20:39
Resolution   : 2832 x 2128
Flash used   : Yes (auto, red eye reduction mode)
Focal length :  7.8mm  (35mm equivalent: 37mm)
CCD width    : 7.65mm
Exposure time: 0.017 s  (1/60)
Aperture     : f/2.8
ISO equiv.   : 200
Whitebalance : Auto
Metering Mode: matrix
Exposure     : program (auto)

I need to store the following information in variables: file name, file size, date/time, camera model, resolution. I'm doing it this way :

for FILE in *.{jpg,JPG} ; do
jhead $FILE > temp
EXIF_NAME=`cat temp | grep "File name" | cut -f 7 -d ' '`
EXIF_SIZE=`cat temp | grep "File size" | cut -f 7 -d ' '`
EXIF_DATE=`cat temp | grep "Date/Time" | cut -f 6,7 -d ' '`
EXIF_RESO=`cat temp | grep "Resolution" | cut -f 5,7 -d ' '`
printf "NAME: %s\tSIZE: %s\tDATE: %s %s\tRESO: %s x %s\n" $EXIF_NAME $EXIF_SIZE $EXIF_DATE $EXIF_RESO
rm temp
echo ""
done


The problem: this is really long since there are many files (38 minutes). I guess it comes from the temp file writing / reading, but my knowledge is to small to figure a better way to get the information I need. Any ideas on how to parse the output of jhead in one pass ?

Any comment is welcome.
--
http://linuxfromscratch.org/mailman/listinfo/lfs-chat
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to