Using FIND to globally rename files...
Robert Nichols
rnicholsNOSPAM at comcast.net
Fri Jun 20 17:06:32 UTC 2008
Daniel B. Thurman wrote:
>
> How do you use FIND to globally rename files?
>
> I find that some music files that have '!' embedded in them
> to cause conflicts especially when attempting to use
> Nautilus to move them from one location into another,
> so I wish to rename files that have offending characters
> in them.
>
> I tried:
>
> 1) find . -type f -name \*.mp3 -exec mv "{}" `echo \"{}\" | sed -e
> 's/[!]//`" \;
> Nope. Does not work.
>
> 2) find . -type f -name \*.mp3 | xargs "echo "mv \"{}\" `echo \"{}\" |
> sed -e 's/\!//`""
> Ah, this is really convoluted, of course it does not work. It is rife
> with errors indeed!
> :)
Yes, the second has serious problems with nesting of quotes. Simplest
way is to use the 'rename' command:
find . -type f -name '*!*.mp3' -exec rename '!' '' {} \;
--
Bob Nichols "NOSPAM" is really part of my email address.
Do NOT delete it.
More information about the users
mailing list