Bash script for files with spaces in the filenames

John Summerfied debian at herakles.homelinux.org
Thu Feb 16 11:54:53 UTC 2006


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

-- spambait
1aaaaaaa at computerdatasafe.com.au  Z1aaaaaaa at computerdatasafe.com.au
Tourist pics http://portgeographe.environmentaldisasters.cds.merseine.nu/

do not reply off-list




More information about the users mailing list