gnewsense-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gNewSense-users] Strange find behavior


From: Matthew Flaschen
Subject: [gNewSense-users] Strange find behavior
Date: Fri, 30 Mar 2007 02:29:32 -0400
User-agent: Thunderbird 1.5.0.10 (X11/20070306)

This isn't really at all gnewsense-specific, but...:

Can anyone explain this:

find -name "*.c" -exec basename '{}' .c \;
test
test2

find -name "*.c" -exec echo $(basename '{}' .c) \;
./test.c
./test2.c

Shouldn't they do the same thing by definition?  I could have sworn the
below command used to work:

find -name "*.c" -exec mv {} $(basename '{}' .c).cpp \;

I would expect this to rename test.c test.cpp and test2.c test2.cpp .
Now it changes test.c to test.c.cpp and test2.c to test2.cpp, consistent
with the above.

Alternatively, if I'm way off track, how can I do this (preferably just
find and basename and without a shell script). I've been reading the
UNIX-Haters Handbook and it's starting to get to me...

I almost want to think find is pulling some sort of security shenanigans
(even though I'm using exec not execdir).  I do know findutils has been
changed since I last tried this, so perhaps they really did break
something (doubtful).

Thanks,

Matt Flaschen




reply via email to

[Prev in Thread] Current Thread [Next in Thread]