On 2/16/06, Paul Smith <phhs80@xxxxxxxxx> wrote: > On 2/16/06, Dotan Cohen <dotancohen@xxxxxxxxx> wrote: > > Another friend has provided me with a simple bash script that performs > > an operation on all the files of a directory. However, many of the > > file names contain spaces. How can I modify the following code to work > > on files with spaces? The directory is on a mounted FAT32 partition. > > > > > > #!/bin/bash > > PWD=`pwd` > > for file in `find $PWD -name "*.mp3"` > > do > > eyeD3 --force-update --set-encoding=utf8 "$file" > > done > > > > > > I had considered converting the spaces to underscores, but that would > > upset the delicate wife/linux balance in our household. > > The following script works fine with filenames containing spaces; just > compare it with yours: > > #! /bin/sh > # mp32wav.sh > > number=0 > > cd $1 || exit 1 > > for file in *.mp3 > do > wavfile=`echo $file | sed -e "s/[Mm][Pp]3$/wav/g"` > echo $"Converting $file ..." > lame --decode "$file" "$wavfile" > echo $"Done" > let "number += 1" > done > > echo $"$number file(s) converted" > > exit 0 > > Paul > Hmm, I see that you don't have quotes around $file. I tried both _with_ and _without_ quotes but no luck. Any other ideas? Dotan Cohen http://technology-sleuth.com/