gestion-de-commission/Convention photos/traitements/rphoto

79 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
checkcommand()
{
local result
local command="$1"
which "$command" 1>/dev/null 2>&1
if [[ $? == 0 ]]; then
echo "$command requirement OK"
result=1
else
echo "$command requirement MISSING"
result=0
fi
return $result
}
help()
{
echo "Usage:"
echo " tphoto -h Display help."
echo " tphoto Rename jpg files from current directory with Exif datetime."
echo " tphoto *.jpg Rename files in parameter with Exif datetime."
echo " tphoto -f Rename jpg files from current directory with Exif datetime or file datetime."
echo " tphoto -f *.jpg Rename files in parameter with Exif datetime or file datetime."
}
renameFromDirectoryWithExifOnly()
{
find . -maxdepth 1 -type f -iname "*.jpg" | while read path
do
filename=$(basename $path)
#echo "$filename"
if [[ $(jhead $filename | grep -c Date) == 1 ]]; then
#echo "yop $filename"
jhead -nIMG%Y%m%d-%H%M%S "$filename"
else
echo "$filename IGNORED"
fi
done
}
renameFromDirectory()
{
find . -maxdepth 1 -type f -iname "*.jpg" | while read path
do
filename=$(basename $path)
#echo "$filename"
jhead -nIMG%Y%m%d-%H%M%S "$filename"
done
}
# main
if [[ $# == 0 ]]; then
renameFromDirectoryWithExifOnly
elif [[ "$1" == "-h" ]]; then
help
elif [[ "$1" == "-f" && $# == 1 ]]; then
renameFromDirectory
elif [[ "$1" == "-f" && $# > 1 ]]; then
for filename do
if [[ "$filename" != "-f" ]]; then
#echo "$filename"
jhead -nIMG%Y%m%d-%H%M%S "$filename"
fi
done
else
for filename do
#echo "$filename"
if [[ $(jhead $filename | grep -c Date) == 1 ]]; then
#echo "yop $filename"
jhead -nIMG%Y%m%d-%H%M%S "$filename"
else
echo "$filename IGNORED"
fi
done
fi