On Fri, 2008-06-20 at 12:06 -0500, Robert Nichols wrote: > 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 '!' '' {} \; Slightly better: find . -type f -name '*!*.mp3' -print0 |xargs -0 rename '!' '' This will work even for filenames with spaces in them (quite common with music files). poc -- fedora-list mailing list fedora-list@xxxxxxxxxx To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list