the old spaces in file names thingy in shell scripts

Dale Farnsworth dale at farnsworth.org
Wed Oct 10 18:52:11 MST 2007


In article <1192062267.4942.89.camel at cube.tobyhouse.com> you write:
> My script breaks if the file names have spaces...
> 
> #!/bin/sh
> #
> BASE="/home/storage/users/craig/Desktop/dw"
> IN="in"
> OUT="out"
> for f in *.flv; do ffmpeg -i $f `basename $f.mp4 .flv`; done

I don't think the above basename args do what you want.

> mv *flv $BASE/$IN
> mv *mp4 $BASE/$OUT
> 
> How can I fix this?

I think you want something like:

===== begin script =======
#!/bin/sh

BASE="/home/storage/users/craig/Desktop/dw"
IN="in"
OUT="out"

for f in *.flv; do
	MP4="`basename "$f" .flv`.mp4"
	ffmpeg -i "$f" "$MP4"
	mv "$f" "$BASE/$IN"
	mv "$MP4" "$BASE/$OUT"
done
===== end script =======

-Dale


More information about the PLUG-discuss mailing list