shell script to remove special characters for the filenames windows 95



find /tb/Huawei/di.fm.src -type d | while IFS= read -r LINE
do {
cd $LINE && for file in *; do mv "$file" "$(echo "$file" | sed -e 's/[^A-Za-z0-9._ -]//g' | sed 's|[ ]\+| |g' | sed 's|^[ ]\+||g' | sed 's|^[ \-]\+||g')"; done
} done
1:
find . -type f -name "*webm" | while read src; do mv "$src" `echo $src | tr -cs '[:alnum:]\.-_' '____'`; done
2:
find . -type f -name "*webm" | while read src; do mv "$src" `echo $src | tr -cs '[a-zA-Z0-9_\-]\.' '_' | sed 's|.$||' | sed 's|^..||' | sed 's|_\-_|\-|g'`; done
3:
find . -type f -name "*webm" | while read src; do echo `echo $src | sed 's|...................$||' | tr -cs '[a-zA-Z0-9_\-]\.' '_' | sed 's|.$||' | sed 's|^..||' | sed 's|_\-_|\-|g' | sed 's|_| |g'` `echo $src | grep -Eo "\[...........\]\.webm"`; done
4:
find . -type f -name "*opus" | while read src; do mv "$src" "`echo $src | sed 's|...................$||' | tr -cs '[a-zA-Z0-9_\-]\.' '_' | sed 's|.$||' | sed 's|^..||' | sed 's|_\-_| \- |g' | sed 's|_| |g'` `echo $src | grep -Eo "\[...........\]\.opus"`"; done

No comments: