Bash recursing mp3.2.ogg conversion
James Wilkinson
fedora at westexe.demon.co.uk
Mon Sep 5 22:51:14 UTC 2005
Rodolfo Alcázar wrote:
> for f in $(find . -name "*mp3"); do command-mp3-2-ogg $f; done
Bill Gradwohl suggested:
> Put double quotes around the $f as - "$f" - to force file names that
> include spaces to be treated properly.
Rodolfo objected:
> NOP. See what hapens with an echo, so you can see the output.
>
> $ for f in $(find . -name "*mp3"); do echo command-mp3-2-ogg "$f"; done
>
> command-mp3-2-ogg ./Sting/Englishman
> command-mp3-2-ogg In
> command-mp3-2-ogg New
> command-mp3-2-ogg York.mp3
> command-mp3-2-ogg ./Sting/The
> command-mp3-2-ogg Hounds
> command-mp3-2-ogg Of
> command-mp3-2-ogg Winter.mp3
[james at kendrick Graham Kendrick]$ IFS="
> "
[james at kendrick Graham Kendrick]$ for f in $(find . -name "*mp3"); do echo command-mp3-2-ogg "$f"; done
command-mp3-2-ogg ./How Long.mp3
command-mp3-2-ogg ./Do Something Beautiful.mp3
command-mp3-2-ogg ./There is a hope so sure.mp3
command-mp3-2-ogg ./Oh I was made for this.mp3
command-mp3-2-ogg ./Blessed are the humble.mp3
command-mp3-2-ogg ./Earth Lies Spellbound.mp3
<snip>
The first command is 'IFS="' followed by a return, followed by '"'
(without the single quotes). This tells bash that only newlines should
be treated as delimiting "words" (filenames).
Having said that, IFS="" also works. See also
http://www.faqs.org/docs/bashman/bashref_33.html
I suppose it's now obvious for whom my machine is named... See
http://www.grahamkendrick.co.uk/ for information and links to some of
his music.
James.
--
E-mail address: james | "If you make everything a life and death proposition
@westexe.demon.co.uk | you're going to have problems. For one thing, you'll
| be dead a lot."
More information about the fedora-list
mailing list