Bash script for files with spaces in the filenames

Dotan Cohen dotancohen at gmail.com
Thu Feb 16 13:06:44 UTC 2006


On 2/16/06, John Summerfied <debian at herakles.homelinux.org> wrote:
> Tim Fenn wrote:
> > On Thu, Feb 16, 2006 at 11:29:04AM +0200, Dotan Cohen wrote:
> >
> >>Another friend has provided me with a simple bash script that performs
> >>an operation on all the files of a directory. However, many of the
> >>file names contain spaces. How can I modify the following code to work
> >>on files with spaces? The directory is on a mounted FAT32 partition.
> >
> > xargs, yo!
> >
> > find $(pwd) -name "*.mp3" -print0 | xargs -0 eyeD3 --force-update --set-encoding=utf8
>
> man xargs for the scoop, sometimes you want to run your eyeD3 with just
> one filename.
>
> This works too:
> find . -type f -name "*.mp3" \
>     -exec eyeD3 --force-update --set-encoding=utf8 {} \;
>
> man find for more.
>
> Note that the original script will also fail if the length of the
> commandline generated is too great. Just for laughs:
> echo $(find / -type f) 2>/dev/null
>
> Cheers
> John
>


Thanks, got it working. If I will need to run it on just one file,
then I would just use the command eyed3, of course.

Dotan
http://technology-sleuth.com/short_answer/why_are_internet_greeting_cards_dangerous.html

1




More information about the fedora-list mailing list