Files
shellfiles/bin/wsl/remove_dates.sh
2026-01-19 21:36:25 -05:00

78 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
export IFS=$'\n';
for afile in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile | sort -f);
do
filename=`echo ${afile:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
i=`echo ${filename}`
# echo "Will remove date: ${i}";
unset hasdate
# echo echo "Looking at $i"
hasfulldate=`echo "$i" | awk '/[[:digit:]][[:digit:]][[:digit:]][[:digit:]][\._]/'`
if [ -z "$hasfulldate" ] ; then
hasfulldate=`echo ""`
else
hasdate=`echo "1"`
fi
if [ -z "$hasfulldate" ] ; then
haspartialdate=`echo "$i" | awk '/[\._][[:digit:]][[:digit:]][\._][[:digit:]][[:digit:]]/'`
if [ -z "$haspartialdate" ] ; then
haspartialdate=`echo ""`
else
hasdate=`echo "1"`
fi
fi
if [ -z $hasdate ] ; then
unset hasdate
else
echo "mv -n date: $i "
# in this order:
# .dddd.dd.dd
# .dd.dd.dddd
# .dd.dd.dd
# .19dd
# .20dd
#
# res=`echo mv -n "$i" "${i//[[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]]/}"`
# echo echo "res is $res"
# dddd.dd.dd.
mv -n "$i" "${i//[[:digit:]][[:digit:]][[:digit:]][[:digit:]][\._][[:digit:]][[:digit:]][\._][[:digit:]][[:digit:]][\._]/}"
if [ -f $i ] ; then
# 19dddddd.
mv -n "$i" "${i//[1][9][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][\._]/}"
fi
if [ -f $i ] ; then
# 20dddddd.
mv -n "$i" "${i//[2][0][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][\._]/}"
fi
if [ -f $i ] ; then
# dd.dd.dddd.
mv -n "$i" "${i//[[:digit:]][[:digit:]][\._][[:digit:]][[:digit:]][\._][[:digit:]][[:digit:]][[:digit:]][[:digit:]][\._]/}"
fi
if [ -f $i ] ; then
# dd.dd.dd.
mv -n "$i" "${i//[[:digit:]][[:digit:]][\._][[:digit:]][[:digit:]][\._][[:digit:]][[:digit:]][\._]/}"
fi
if [ -f $i ] ; then
# 19dd.
mv -n "$i" "${i//[1][9][[:digit:]][[:digit:]][\._]/}"
fi
if [ -f $i ] ; then
# 20dd.
mv -n "$i" "${i//[2][0][[:digit:]][[:digit:]][\._]/}"
fi
# echo " ---- "
# echo " "
fi
done
IFS=$SAVEIFS