Added photos scripts.

This commit is contained in:
Christian P. MOMON 2022-07-08 02:00:59 +02:00
parent 67b46c99c0
commit 3eb70ff920
2 changed files with 92 additions and 25 deletions

30
Convention photos/lowext Executable file
View File

@ -0,0 +1,30 @@
#!/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
}
# main
if [[ "$1" == "-h" ]]; then
echo "The lowext command lowercases JPG file extensions in the current directory not recursively."
else
checkcommand rename
if [[ $? == 1 ]]; then
uppercaseCount=$(find -maxdepth 1 -name '*.JPG' | wc -l)
if [[ $uppercaseCount > 0 ]]; then
rename 's/JPG/jpg/' *.JPG
fi
echo ".JPG -> .jpg: $uppercaseCount"
fi
fi

View File

@ -1,41 +1,78 @@
#!/bin/bash
function checkJhead()
checkcommand()
{
local result
local check=$(which ant)
if [[ "$check" =~ ^/.* ]]; then
echo "jhead requirement OK"
local command="$1"
which "$command" 1>/dev/null 2>&1
if [[ $? == 0 ]]; then
echo "$command requirement OK"
result=1
else
echo "jhead requirement MISSING"
echo "$command requirement MISSING"
result=0
fi
return $result
}
# main
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."
}
# Lowercase extension.
uppercaseCount=$(find -maxdepth 1 -name '*.JPG' | wc -l)
if [[ $uppercaseCount > 0 ]]; then
rename 's/JPG/jpg/' *.JPG
fi
echo ".JPG -> .jpg: $uppercaseCount"
# Rename.
checkJhead
if [[ $? == 1 ]]; then
count=0
for filename in $(ls *.jpg); do
#echo "==== $filename"
if [[ $(jhead $filename | grep Date) =~ ^Date.* ]]; then
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 -n%Y%m%d-%H%M%S "$filename"
let "count+=1"
else
echo "$filename IGNORED"
fi
done
}
renameFromDirectory()
{
find . -maxdepth 1 -type f -iname "*.jpg" | while read path
do
filename=$(basename $path)
#echo "$filename"
jhead -n%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 -n%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 -n%Y%m%d-%H%M%S "$filename"
else
echo "$filename IGNORED"
fi
done
echo "Renamed: $count"
else
echo "KO"
fi