Improved rphoto.
This commit is contained in:
parent
35cca4cf75
commit
fa878851eb
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/bin/bash
|
||||
|
||||
checkcommand()
|
||||
{
|
||||
|
@ -17,62 +17,65 @@ checkcommand()
|
|||
|
||||
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."
|
||||
echo "Usage: tphoto [-n] [ -h | -f ] [ *.jpg ]"
|
||||
echo "Rename jpg files using Exif Original Date/Time if exists."
|
||||
echo " -h Display help."
|
||||
echo " -f Force rename jpg files with Exif datetime or file datetime."
|
||||
echo " -n Dry run."
|
||||
}
|
||||
|
||||
renameFromDirectoryWithExifOnly()
|
||||
doRename()
|
||||
{
|
||||
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
|
||||
local filename=$(basename $1)
|
||||
#echo "$filename"
|
||||
jhead -nIMG%Y%m%d-%H%M%S "$filename"
|
||||
}
|
||||
|
||||
renameFromDirectory()
|
||||
doRenameCarefully()
|
||||
{
|
||||
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
|
||||
local filename=$(basename $1)
|
||||
#echo "$filename"
|
||||
if [[ $(exiftool $filename | grep -c "Date/Time Original") > 0 ]]; then
|
||||
#echo "yop $filename"
|
||||
doRename "$filename"
|
||||
else
|
||||
echo "$filename IGNORED"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# main
|
||||
checkcommand "exiftool"
|
||||
if [[ $? == 0 ]]; then
|
||||
exit 1
|
||||
else
|
||||
checkcommand "jhead"
|
||||
if [[ $? == 0 ]]; then
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [[ $# == 0 ]]; then
|
||||
renameFromDirectoryWithExifOnly
|
||||
find . -maxdepth 1 -type f -iname "*.jpg" | while read path
|
||||
do
|
||||
doRenameCarefully "$path"
|
||||
done
|
||||
elif [[ "$1" == "-h" ]]; then
|
||||
help
|
||||
elif [[ "$1" == "-f" && $# == 1 ]]; then
|
||||
renameFromDirectory
|
||||
find . -maxdepth 1 -type f -iname "*.jpg" | while read path
|
||||
do
|
||||
doRename "$path"
|
||||
done
|
||||
elif [[ "$1" == "-f" && $# > 1 ]]; then
|
||||
for filename do
|
||||
if [[ "$filename" != "-f" ]]; then
|
||||
#echo "$filename"
|
||||
jhead -nIMG%Y%m%d-%H%M%S "$filename"
|
||||
doRename "$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
|
||||
doRenameCarefully "$filename"
|
||||
done
|
||||
fi
|
||||
|
||||
|
|
Loading…
Reference in New Issue