[NTLUG:Discuss] "find -exec" -vs xargs -OR- subshells in -exec
Richard Geoffrion
ntlug at rain4us.net
Fri May 26 09:33:32 CDT 2006
I'm trying to rename a bunch of mangled files. I want to replace all of
the tilde (~) characters with dashes (-).
Find can find the files, but I can't figure out how to rename the file
once I have it on the command line.
(and for the purposes of this issue...on this particular machine, I
don't have the rename command ---- even though I tried using rename on
another machine with no luck.)
(I hate it when machines have no luck)
rtcg at bobpc:/tmp# mkdir test
rtcg at bobpc:/tmp# cd test
rtcg at bobpc:/tmp/test# ls
rtcg at bobpc:/tmp/test# touch 1~1.jpg
rtcg at bobpc:/tmp/test# find . -name *~*
./1~1.jpg
rtcg at bobpc:/tmp/test# find . -name *~* -exec mv {} `echo {} | sed y#~#-#` \;
mv: `./1~1.jpg' and `./1~1.jpg' are the same file
rtcg at bobpc:/tmp/test# TESTFILE=1~1.jpg
rtcg at bobpc:/tmp/test# mv $TESTFILE `echo $TESTFILE | sed y#~#-#`
rtcg at bobpc:/tmp/test# ls
1-1.jpg
rtcg at bobpc:/tmp/test#
I've looked at xargs, but xargs just wants to run a command on the
results. I can't find how to manipulate the ??stout/stin'? that was
passed to xargs.
Suggestions?
--
Richard
More information about the Discuss
mailing list