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