[buug] Spaces within filenames in a bash script
Joseph Zitt
jzitt at josephzitt.com
Sun Jan 1 22:12:33 PST 2006
Hi, all. This would seem to be an FAQ, but I haven't been quite able to
get it to work after a lot of experimenting and digging around.
I'm using a bash script that I got from an article on an O'Reilly site
to convert FLAC files to mp3s. (I'm guessing that it could easily be
tweaked to do oggs, but the problem would be the same.) It's blowing up
badly on files with spaces in the names:
#!/bin/bash
FILES=$(ls *.flac | cut -d '.' -f1)
for i in $FILES; do
echo converting: $i.flac
flac -sdc $i.flac | lame - $i.mp3
done
I've tried all sorts of different incantations, mostly throwing
quotation marks in to see what would work, but no matter what I do, it
takes a filename like "foo bar baz.flac" and treats it as three files,
"foo", "bar", and "baz.flac".
Can someone suggest a tweak that will handle this (other than renaming
the files to start with, which would be even more of a hassle)?
Thanks for any enlightenment.
More information about the buug
mailing list