find(1) man-page/find error with -x/-xdev
Giorgos Keramidas
keramida at freebsd.org
Sun Jul 3 22:24:50 GMT 2005
On 2005-07-03 15:24, mdff <nospam at mgedv.net> wrote:
> as documented on 5.4-RELEASE, there's a divergence between
> man 1 find and the command itself and the option "-x" a.k.a. "-xdev".
> although "-xdev" is "deprecated", it's the only working one ;-)
>
> $ man 1 find
> <...snip...>
> -x Prevent find from descending into directories that have a
> device
> number different than that of the file from which the descent
> began.
>
> This option is equivalent to the deprecated -xdev primary.
> <...snip...>
>
> $ find . -x
> find: -x: unknown option
>
> $ find . -xdev
> <...works...>
The two (-x and -xdev) are slightly different, but the small difference
is very important. The -x option is a find(1) option, while -xdev is an
"expression predicate" or "primary" as the description of -x calls it.
Options should appear *before* any path names, while "primaries" should
appear *after* path names. This means that these two are valid:
find -x .
find . -xdev
But these are not:
find . -x
find -xdev .
Bearing this in mind, do you still think that the manpage is wrong?
If yes, suggestions to improve the wording of the description of the -x
option are certainly welcome.
- Giorgos
More information about the freebsd-bugs
mailing list