Re: "locate" easier to use than "find"
> > tomas@tuxteam.de (12023-08-24):
> > > Dunno. I use find nearly every day. Seeing it as "just a recursive
> > > grep" doesn't cover a fraction of its usefulness.
> > >
> > > A couple of days ago I was searching for dangling symlinks.
> > >
> > > find . -follow -lname "*"
Wow... what a cryptic pair of options this is. From the man page:
-L Follow symbolic links. When find examines or prints information
[...]
Using -L causes the -lname and -ilname
predicates always to return false.
And:
The -follow option has a similar effect to -L, though it takes effect
at the point where it appears (that is, if -L is not used but -follow
is, any symbolic links appearing after -follow on the command line will
be dereferenced, and those before it will not).
And:
-follow
Deprecated; use the -L option instead. Dereference symbolic
links. Implies -noleaf. The -follow option affects only those
tests which appear after it on the command line. Unless the -H
or -L option has been specified, the position of the -follow op‐
tion changes the behaviour of the -newer predicate; any files
listed as the argument of -newer will be dereferenced if they
are symbolic links. The same consideration applies to -newerXY,
-anewer and -cnewer. Similarly, the -type predicate will always
match against the type of the file that a symbolic link points
to rather than the link itself. Using -follow causes the -lname
and -ilname predicates always to return false.
And:
-lname pattern
File is a symbolic link whose contents match shell pattern pat‐
tern. The metacharacters do not treat `/' or `.' specially. If
the -L option or the -follow option is in effect, this test re‐
turns false unless the symbolic link is broken.
So that's two votes for "this can't possibly work" and one vote for
the opposite. From within the same manual. Yikes.
(And the POSIX manual doesn't help here, because -lname is a GNU extension.)
Reply to: