Using FIND to globally rename files...

John Cornelius jc at hangarpilot.net
Fri Jun 20 16:53:07 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!
>    :)
>
> Um, help!?!?
>
> Kind regards,
> Dan
Nope! You get to execute one and only one command in a find statement 
but that can be a shell script. You might try putting your pipe into a 
script and then executing the script with the find.

John Cornelius




More information about the fedora-list mailing list