for f in *.HEIC; do mv -v "$f" "${f%.HEIC}.heic" done # 1 set -eu -o pipefail # 2 count=$(find . -depth 1 -name "*.heic" | wc -l | sed 's/[[:space:]]*//') echo "converting $count files .heic files to .jpg" # 3 magick mogrify -monitor -format jpg *.heic # 4 echo "Remove .heic files? [y/n]" read remove # 5 if [[ "$remove" == "y" ]]; then find . -depth 1 -name "*.heic" -delete fi for f in *.JPG; do mv -v "$f" "${f%.JPG}.jpg" done for f in *.AVI; do mv -v "$f" "${f%.AVI}.avi" done for f in *.MP4; do mv -v "$f" "${f%.MP4}.mp4" done for f in *.MOV; do mv -v "$f" "${f%.MOV}.mov" done for f in *.HEIC; do mv -v "$f" "${f%.HEIC}.heic" done set -eu -o pipefail count=$(find . -depth 1 -name "*.heic" | wc -l | sed 's/[[:space:]]*//') echo "converting $count files .heic files to .jpg" magick mogrify -monitor -format jpg *.heic find . -depth 1 -name "*.heic" -delete # Add 12 hours to the picture's EXIF info # exiftool "-AllDates+=0:0:0 12:0:0" -verbose *.jpg # Subtract 12 hours to the picture's EXIF info # exiftool "-AllDates-=0:0:0 12:0:0" -verbose *.jpg photographer="" # photographer="David" mkdir -p rename count=0 for video in *.mp4; do let "count+=1" # echo $video originalname="${video%.*}" newname="${video%.*}_${photographer}" echo "Original Name: $video" echo "New Name: $newname.mp4" if [ ! -z $photographer ]; then mv "$video" "rename/${newname}.mp4" fi done count=0 for video in *.avi; do let "count+=1" # echo $video originalname="${video%.*}" newname="${video%.*}_${photographer}" echo "Original Name: $video" echo "New Name: $newname.avi" if [ ! -z $photographer ]; then mv "$video" "rename/${newname}.avi" fi done count=0 for video in *.mov; do let "count+=1" # echo $video originalname="${video%.*}" newname="${video%.*}_${photographer}" echo "Original Name: $video" echo "New Name: $newname.mov" if [ ! -z $photographer ]; then mv "$video" "rename/${newname}_$(du -h "$video" | awk '{ print $1}').mov" fi done count=0 mkdir -p rename for picture in *.jpg; do let "count+=1" echo $picture originalname="${picture%.*}" xpath=${picture%/*} pxwidth=$(exif $picture | grep "Pixel X Dimension" | cut -d "|" -f2) pxheight=$(exif $picture | grep "Pixel Y Dimension" | cut -d "|" -f2) dateTaken=$(exif $picture | grep "Date and Time (Digit" | cut -d "|" -f2 | cut -d " " -f1) if test -z "$dateTaken"; then echo "Date/Time not found for $picture" else datetaken="${dateTaken//:/-}" timeTaken=$(exif $picture | grep "Date and Time (Digit" | cut -d "|" -f2 | cut -d " " -f2) timetaken="${timeTaken//:/.}" if test -z "$pxwidth" || test -z "$pxheight"; then newname="$(echo $datetaken)_$(echo $timetaken)_$(du -h "$video" | awk '{ print $1}')" else newname="$(echo $datetaken)_$(echo $timetaken)_$(echo $pxwidth)x$(echo $pxheight)_$(du -h "$video" | awk '{ print $1}')" fi echo "Original Name: $picture" echo "New Name: $newname.jpg" if [[ -e $newname.jpg || -L $newname.jpg ]]; then i=1 while [[ -e $newname-$i.jpg || -L $newname-$i.jpg ]]; do let i++ done newname=$newname-$i echo "New Numbered Name: $newname" echo " " fi if [ ! -z $photographer ]; then mv "$picture" "rename/${newname}_${photographer}.jpg" else mv "$picture" "rename/${newname}.jpg" fi fi done
Last Updated on August 17, 2024