James Tuttle wrote:
I'm need to grab a few hundred songs out of a few thousand to dump to my
wife's IPod. I have a list of the files she selected and I wrote a
little bash script to grab them and sync them to her IPod, but it fails
on spaces in filenames. Probably on things like ' and & and - also.
Any ideas?
#/bin/env bash
FILES="Barry White - Let's Get It On.mp3
Barry White - Shaft Theme.mp3"
for file in $FILES
do
if [ -e $file ]; then
FILE_LIST="$file $FILE_LIST"
else
echo "$file doesn't exist"
fi
done
snip
The space thing is easy...just use a different delimiter (like a colon
":"). For example:
IFS=":"
FILES="Barry White - Let's Get It On.mp3:Barry White - Shaft Theme.mp3"
for file in $FILES
do
if [ -e $file ]; then
FILE_LIST="$file $FILE_LIST"
else
echo "$file doesn't exist"
fi
done
If you have them all in a file you can do something like this:
IFS="$"
for file in $(cat -vE mp3files); do
if [ -e $file ]; then
FILE_LIST="$file:$FILE_LIST"
else
...
and then change the IFS character to a ":" for the rest...
Chander Ganesan
Open Technology Group, Inc.
One Copley Parkway, Suite 210
Morrisville, NC 27560
Phone: 877-258-8987/919-463-0999
Thanks,
Jim
--
TriLUG mailing list : http://www.trilug.org/mailman/listinfo/trilug
TriLUG Organizational FAQ : http://trilug.org/faq/
TriLUG Member Services FAQ : http://members.trilug.org/services_faq/