On 7-7-13 11:29:05 Mike Wright wrote:
I'm trying to write a bash command to transcode some videos into audios but am having trouble with filenames that contain spaces.
ls *flv
returns this:
Jorge Drexler - Al otro Lado del Río.flv
But in a bash for loop it doesn't work.
for f in `ls *flv`; do echo $f; done
returns this:
Jorge Drexler
Al otro Lado del Río.flv
Use another shell?
zsh does this:
garry@vfr$ touch foo\ bar garry@vfr$ for f in `ls foo*`;do echo $f;done foo bar garry@vfr$
In contrast, bash does:
garry@vfr$ bash %n@%m$ for f in `ls foo*`;do echo $f;done foo bar %n@%m$ exit
On 7-7-13 20:38:30 Ian Malone wrote:
As you've discovered, spaces in machineable filenames aren't great. However for this case you may want to consider: for F in *flv ; do echo "$F" ; done
This is probably the best solution offered, though.