parent
2992d75bda
commit
5546d006a3
@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
error_log=.fix_gopro_filenames_error.log
|
||||||
|
|
||||||
|
if ! touch $error_log; then
|
||||||
|
printf '%b\n' "\e[1;31mERROR\e[1;37m:\e[0m Unable to write to current directory." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
printf '%s\n' 'Searching for GoPro video files...'
|
||||||
|
FILES=$(ls -1 | grep -E '^GX[0-9]{6}.MP4$')
|
||||||
|
if [ -z "$FILES" ]; then
|
||||||
|
printf '%b\n' "\e[1;31mERROR\e[1;37m:\e[0m No GoPro files with default names found in current directory." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
printf '%b\n' "\nFound:\n$FILES\n"
|
||||||
|
printf '%s' "Do you want to continue renaming these files? (y/N) "
|
||||||
|
read -n 1 response
|
||||||
|
if [ "$response" != "y" ] && [ "$response" != "Y" ]; then
|
||||||
|
printf '\n%s\n' "Aborted."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
printf '\n%s\n' "Continuing..."
|
||||||
|
|
||||||
|
printf '%s\n' $FILES | while read -r i; do
|
||||||
|
sq=$(printf '%s\n' $i | awk '{print substr($0, 3, 2)}')
|
||||||
|
vn=$(printf '%s\n' $i | awk '{print substr($0, 5, 4)}')
|
||||||
|
oname="GX${sq}${vn}.MP4"
|
||||||
|
nname="GX${vn}_${sq}.MP4"
|
||||||
|
|
||||||
|
printf '%b' "Renaming \e[1;33m${oname}\e[0m to \e[1;32m${nname}\e[0m... "
|
||||||
|
if mv $oname $nname 2>>$error_log; then
|
||||||
|
printf '%b\n' "\e[1mDONE\e[0m"
|
||||||
|
else
|
||||||
|
printf '%b\n' "\e[1;31mFAIL\e[0m"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -s $error_log ]; then
|
||||||
|
printf '%b\n' " !!!\e[1;31m ERRORS ENCOUNTERED: \e[0m!!!\n------------" >&2
|
||||||
|
printf '%b\n' "$(cat $error_log)\n------------" >&2
|
||||||
|
rm "$error_log"
|
||||||
|
exit 3
|
||||||
|
else
|
||||||
|
printf '%b\n' "\e[1;34m Complete!\e[0m"
|
||||||
|
rm "$error_log"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
Loading…
Reference in new issue