Date: Thu, 18 May 2006 12:40:08 +0200 From: Kyrre Nygard <kyrreny@broadpark.no> To: questions@freebsd.org Subject: Shell script cannot run on FAT32 partition Message-ID: <7.0.1.0.2.20060518123424.02289418@broadpark.no>
next in thread | raw e-mail | index | archive | help
Hello! I have this nice renaming script here. It sanitizes badly named parts of files and folders. But when I run it on my FAT32, dual boot transition partition (hehe), it causes my computer (Pentium 4, 3,2 GHz) to freeze. I vaguely remember seeing some message before it freezes saying "Locking from myself" or something like that, this is not recorded into /var/log/messages. It is very annoying actually because to rename a bunch of files I first have to copy them to my UFS2 partition, run the script, and then copy them back to the FAT32 partition. Does this problem sound familiar to anyone? Thanks! Anyway here is the script. #!/usr/local/bin/bash # # Rename files and folders in MP3 releases. # $MERHABA: mp3_rename.sh,v 1.0 2007/11/11 15:09:05 kyrre Exp $ # if [ $1 ]; then mv="echo"; else mv="mv"; fi function do_folders () { for old in *; do if [ -f "$old" ]; then do_files "$old" elif [ -d "$old" ]; then new=`echo "$old" | tr "[:upper:]" "[:lower:]"` new=`echo "$new" | sed -e "s/ /_/g" \ -e "s/)//g" \ -e "s/-(/-/g" \ -e "s/_(/-/g" \ -e "s/(//g" \ -e "s/_-_/-/g" \ -e "s/---*/-/g" \ -e "s/___*/-/g" \ -e "s/\./_/g" \ -e "s/,/-/g" \ -e "s/'//g" \ -e "s/___*/_/g" \ -e "s/_-/-/g" \ -e "s/-_/-/g" \ -e "s/&/and/g" \ -e "s/\([-_]\)ft[_-]/\1feat_/g" \ -e "s/\([-_]\)featuring[_-]/\1feat_/g" \ -e "s/[][]//g"` if [ "$old" != "$new" ]; then $mv "$old" "$new"; fi echo "Renaming $old" cd "$new"; do_folders "$new"; cd .. else echo "Directory invalid."; fi done } function do_files () { old=$1 new=`echo "$old" | tr "[:upper:]" "[:lower:]"` if [[ "$old" == *.* ]]; then extension=${new##*.} new=${new%.*} new=`echo "$new" | sed -e "s/ /_/g" \ -e "s/)//g" \ -e "s/-(/-/g" \ -e "s/_(/-/g" \ -e "s/(//g" \ -e "s/_-_/-/g" \ -e "s/---*/-/g" \ -e "s/___*/-/g" \ -e "s/\./_/g" \ -e "s/,/-/g" \ -e "s/'//g" \ -e "s/___*/_/g" \ -e "s/_-/-/g" \ -e "s/-_/-/g" \ -e "s/\&/and/g" \ -e "s/\([-_]\)ft[_-]/\1feat_/g" \ -e "s/\([-_]\)featuring[_-]/\1feat_/g" \ -e "s/^\([0-9]\{2,3\}\)_/\1-/g" \ -e "s/[][]//g"` new=`echo "$new"."$extension"` $mv "$old" "$new"; fi } do_folders .
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7.0.1.0.2.20060518123424.02289418>