#!/usr/bin/bash # filename_fixer.sh # Meryll 202006 for f in * do g="${f// /_}" h="${g//\,/}" i="${h//\]/}" j="${i//\[/}" k="${j//\~/}" l="${k//\)/}" m="${l//\(/}" n="${m//\&/}" o="${n//\%/}" p="${o//\'/}" new="${p//__/_}" if [ "$new" != "$f" ] ; then if [ -e "$new" ] ; then echo not renaming \""$f"\" because \""$new"\" already exists else echo moving "$f" to "$new" mv "$f" "$new" fi fi done