Commit Graph

73 Commits

Author SHA1 Message Date
Yaroslav Tykhiy
08274979f3 Clarify the feature that -exec parameters won't get
shell-expanded when the specified utility is run.

MFC after:	5 days
2001-06-29 12:59:20 +00:00
Ruslan Ermilov
bfd1220842 mdoc(7) police: fix markup. 2001-05-16 13:53:19 +00:00
Poul-Henning Kamp
ea92232a82 They add the following commands:
-anewer
   -cnewer
   -mnewer
   -okdir
   -newer[acm][acmt]

 With it, you can form queries like

     find . -newerct '1 minute ago' -print

 As an extra bonus, the program is ANSI-fied - the original version
 relies on some obscure features of K&R C.

(This PR was submitted in 1999, and the submittor has kept the patch
updated ever since, hats off for him guys, and how about you close a PR ??)

PR:		9374
Submitted by:	Martin Birgmeier <Martin.Birgmeier@aon.at>
2001-05-03 18:05:35 +00:00
Andrey A. Chernov
fa2b491527 Don't attempt to parse %c, use nl_langinfo instead 2001-03-21 15:51:50 +00:00
Warner Losh
470b24b584 MAXPATHLEN already accounts for the trailing NUL, so no need to add one in.
In addition, since we pass readlink MAXPATHLEN - 1, we would have never have
used that extra byte anyway.
2001-03-01 05:49:36 +00:00
Ruslan Ermilov
94ad6032c5 mdoc(7) police: restore correct order of references in the SEE ALSO. 2001-02-24 10:30:27 +00:00
Akinori MUSHA
7c1d4b3ae9 Implement the following options and primaries:
-E      Interpret regular expressions followed by -regex and -iregex op-
             tions as extended (modern) regular expressions rather than basic
             regular expressions (BRE's).  The re_format(7) manual page fully
             describes both formats.

     -iname pattern
             Like -name, but the match is case insensitive.

     -ipath pattern
             Like -path, but the match is case insensitive.

     -regex pattern
             True if the whole path of the file matches pattern using regular
             expression.  To match a file named ``./foo/xyzzy'', you can use
             the regular expression ``.*/[xyz]*'' or ``.*/foo/.*'', but not
             ``xyzzy'' or ``/foo/''.

     -iregex pattern
             Like -regex, but the match is case insensitive.

These are meant to be compatible with other find(1) implementations
such as GNU's or NetBSD's except regexp library differences.

Reviewed by:	sobomax, dcs, and some other people on -current
2001-02-23 16:20:55 +00:00
Ruslan Ermilov
d0353b836e mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:38:02 +00:00
Peter Wemm
ed1a4621a2 Add the -empty flag, from OpenBSD. It returns true if the directory
is empty.  There doesn't appear to be another easy way to do this.

mobile# mkdir foo
mobile# mkdir foo/bar
mobile# mkdir bar
mobile# find . -empty
./foo/bar
./bar
2001-01-23 11:16:50 +00:00
Ruslan Ermilov
1bfea903ed Prepare for mdoc(7)NG. 2001-01-16 09:39:23 +00:00
Ruslan Ermilov
9b88faecd3 Prepare for mdoc(7)NG. 2000-12-19 16:00:12 +00:00
Ruslan Ermilov
8fe908ef0c mdoc(7) police: use the new features of the Nm macro. 2000-11-20 19:21:22 +00:00
Matthew Hunt
45fe9882b0 "minute(s) period(s)" --> "minute(s)" 2000-11-17 23:08:03 +00:00
Eivind Eklund
1e2f8412e0 Make passing unknown fstypes to -fstype result in a warning instead of
an error.  As it was, which find command lines that would work (be
accepted at all) was dependent on the presently running kernel, making
script writing and porting hard.
2000-07-28 20:02:42 +00:00
Josef Karthauser
141d77b8cb Switch over to using the new fflagstostr and strtofflags library calls. 2000-06-17 14:19:33 +00:00
Ollivier Robert
c4b8db0095 Make find -Wall -Wredundant-decls clean.
Submitted by:	nrahlstr
2000-06-14 07:43:52 +00:00
Ollivier Robert
c76bc8f3bf This patch adds the -mindepth and -maxdepth options to find(1), which
behave as in GNU find (and of course as described in the manual page
    diff included).  I think these options would be useful for some people.

    Some missing $FreeBSD$ tags are also added.

    The patch was slightly modified (send-pr mangling of TABS).

PR:		bin/18941
Submitted by:	Ben Smithurst <ben@scientia.demon.co.uk>
2000-06-12 11:12:41 +00:00
Ollivier Robert
9d2796c3ec The find -perm option currently supports an exact match,
or if the mode is preceded by a '-', it checks for a match
        in at least the bits specified on the command line.  It is
        often desirable to find things with any execute or setuid or
        setgid bits set.

PR:		bin/10169
Submitted by:	Monte Mitzelfelt <monte@gonefishing.org>
2000-06-12 10:36:52 +00:00
Nik Clayton
3615c24e18 Fix errors in .Xr usage.
PR:             docs/17057
Submitted by:   Submitted by:   Udo Erdelhoff <ue@nathan.ruhr.de>
2000-03-01 10:48:35 +00:00
Josef Karthauser
418d67b0d9 Revert part of the last commit, remove {g|s}etflags from the libc
interface, and statically link them to the programs using them.
These functions, upon reflection and discussion, are too generically
named for a library interface with such specific functionality.
Also the api that they use, whilst ok for private use, isn't good
enough for a libc function.

Additionally there were complications with the build/install-world
process.  It depends heavily upon xinstall, which got broken by
the change in api, and caused bootstrap problems and general mayhem.

There is work in progress to address future problems that may be
caused by changes in install-chain tools, and better names for
{g|s}etflags can be derived when some future program requires them.
For now the code has been left in src/lib/libc/gen (it started off
in src/bin/ls).

It's important to provide library functions for manipulating file
flag strings if we ever want this interface to be adopted outside
of the source tree, but now isn't necessarily the right moment
with 4.0-release just around the corner.

Approved:	jkh
2000-02-05 18:42:36 +00:00
Josef Karthauser
18c0eeddf7 Historically file flags (schg, uschg, etc) have been converted from
string to u_long and back using two functions, flags_to_string and
string_to_flags, which co-existed with 'ls'.  As time has progressed
more and more other tools have used these private functions to
manipulate the file flags.

Recently I moved these functions from /usr/src/bin/ls to libutil,
but after some discussion with bde it's been decided that they
really ought to go in libc.

There are two already existing libc functions for manipulating file
modes:  setmode and getmode.  In keeping with these flags_to_string
has been renamed getflags and string_to_flags to setflags.

The manual page could probably be improved upon ;)
2000-01-27 21:17:01 +00:00
Josef Karthauser
cd2a718f1e Added missing DPADD's. Removed unrequired SRCS's.
Obtained from:	bde
2000-01-01 15:44:11 +00:00
Josef Karthauser
edc2844c9f Moved flags_to_string and string_to_flags into libutil. It's used in
many places nowadays.
1999-12-30 13:15:15 +00:00
Ollivier Robert
567664c4a7 Second part of bin/3648: add -flags to search for specific flags.
I added $FreeBSD$ whicle I was here. The patch wasn't usable anymore
due to its age so I adapted it.

PR:		bin/3648
Submitted by:	Martin Birgmeier <mbirg@austria.ds.philips.com>
1999-12-19 15:43:19 +00:00
Bill Fumerola
389017e544 -Wall: remove unused variable, initialize variable to avoid gcc stupidity. 1999-09-06 20:21:19 +00:00
Peter Wemm
c3aac50f28 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
Kris Kennaway
b9569cad67 The -perm option takes argument [-]mode, not [-mode]
Obtained from:	NetBSD, by way of OpenBSD
1999-06-06 07:37:18 +00:00
Joseph Koshy
0c101fb2e7 Clarify wording to indicate that the arguments to find(1) are path names
(and can be both files or directories).  Show white space between
"(", ")", "!" and their corresponding `expression' arguments as
expected by the expression parser inside find(1).

Prompted by:	David Honig <David.Honig@idt.com> on freebsd-doc
		Message-Id: <199904132055.NAA09432@justinian.Eng.idt.com>
1999-04-19 08:26:00 +00:00
Bill Fumerola
56f7a84010 Typo - "the -delete primary do not.." -> "the -delete primary does not.."
PR:		docs/9255
Submitted by:	Christian Weisgerber <naddy@bigeye.rhein-neckar.de>
1998-12-31 16:21:51 +00:00
Warner Losh
83268d4dbb Return memory from setmode.
Obtained from: OpenBSD
1998-12-16 04:50:46 +00:00
Bruce Evans
38cecfeb68 Fixed style bugs in previous commit. 1998-11-29 12:17:09 +00:00
Bruce Evans
6df6954824 Fixed English in previous commit. Clarify "lexicographical order".
Don't format paragraphs manually (new sentences not beginning on new
lines give hard-formatted line breaks).
1998-11-29 12:00:06 +00:00
Bruce Evans
1b4db9d1fd Fixed my English fixes. 1998-11-29 11:34:30 +00:00
Bruce Evans
ad04e6130e Fixed style bugs and English in previous commit. 1998-11-29 11:11:07 +00:00
Bruce Evans
154708b405 Fixed disorder and and usage message. Improved English.
Broken in:	previous commit
1998-11-29 10:41:01 +00:00
Bruce Evans
792ca910ad Fixed disordering in previous commit. 1998-11-29 10:08:27 +00:00
Wolfram Schneider
6d0c7e1378 Added a sort option to find(1).
The sort option make it possible to build the locate
database without large (usually 20-100MB) temp files.
1998-11-29 00:54:21 +00:00
Dag-Erling Smørgrav
1fd98d7d88 Calls one or more of malloc(), warn(), err(), syslog(), execlp() or
execvp() in the child branch of a vfork(). Changed to use fork()
instead.

Some of these (mv, find, apply, xargs) might benefit greatly from
being rewritten to use vfork() properly.

PR:		Loosely related to bin/8252
Approved by:	jkh and bde
1998-10-13 14:52:33 +00:00
Peter Hawkins
449cc391d9 PR: 7522
Correct bug in the inverse operator optimisation code which caused segv
on ! without a following expression.
1998-08-10 10:29:11 +00:00
Bruce Evans
22694ebad5 Fixed printf format errors. 1998-07-06 21:01:54 +00:00
Warner Losh
c788c9b224 Make sure we pass the length - 1 to readlink, since it adds its own
NUL at the end of the path.

Inspired by: OpenBSD's changes in this area by theo de raadt
1998-06-09 04:10:08 +00:00
Joseph Koshy
41cbb62401 Add cross references for find(1), locate(1), whereis(1) and which(1).
Submitted by: Josh Gillam <josh@quick.net>
PR: docs/6642
1998-05-15 11:22:42 +00:00
Bruce Evans
87f01287d2 Removed definition of _NEW_VFSCONF. The new vfsconf interface is now
the default.
1998-01-20 10:40:18 +00:00
John Birrell
94aacc4fb8 A partial frontal lobotomy for find if using the NetBSD libc which
doesn't know about getvfsbyname() and the vfsconf structure. This
disables the -fstype option if compiled with a pre-processor that
defines __NetBSD__. With the FreeBSD built pre-processor, find can only
be built with the FreeBSD libc. So when running with a NetBSD kernel,
FreeBSD's libc will have to return ENOSYS for things that NetBSD
doesn't support. That's life in a hybrid world.
1998-01-10 21:36:34 +00:00
Steve Price
5a5b7fdd83 Sort option list so that -amin works.
PR:		5171
Submitted by:	Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
1997-11-28 15:48:08 +00:00
Steve Price
f6e4fb22cf Better wording explaining that all single character options
are extensions along with the previous list of primaries.

Suggested by: bde
1997-10-27 14:25:54 +00:00
Steve Price
fcda3c86e1 Offending statement removed from STANDARDS section. From what I
can gather from the Posix spec that I have (which is very old)
all one character options are extensions to Posix.

PR:		docs/4701
1997-10-27 04:22:13 +00:00
Wolfram Schneider
3f5223f84a Add the primaries -mmin, -amin, -cmin to find, similar to the GNU find. 1997-10-13 21:06:22 +00:00
Warner Losh
127d7563c4 Add -execdir which will execute the exec command in the dir of the file
in question.  This change and the fts changes should be merged into 2.2-stable
as soon as they are vetted in -current.  This should allow cleaning of files
in /tmp to be reneabled.
Obtained from: OpenBSD
1997-08-29 23:09:45 +00:00
John Polstra
5cc6677fdc Eliminate a variable that is set but never used. 1997-05-19 18:16:29 +00:00