Commit Graph

21 Commits

Author SHA1 Message Date
reed
4129c05469 This adds -fprint function. The primary name "-fprint" (but not the
code) comes from findutils; it behaves the same.

From my manpage addition:

 -fprint filename
	This primary always evaluates to true.  This creates filename or
	overwrites the file if it already exists.  The file is created at
	startup.  It writes the pathname of the current file to this
	file, followed by a newline character.  The file will be empty if
	no files are matched.

Here is an example usage:

find /etc \( -name "*pass*" -fprint file1 \) -o \( -group operator -fprint file2 \) -o -name "w*"

Note that this example will NOT include entry in file2 if it is
matched in first expression. (This also is same behaviour as
findutils, and I have implemented a -false primary to handle that.
I will commit it later.)

This creates the file as command line argument parsing time.
If there is an error somewhere on that line, such as missing values
or mismatched parenthesis, then a file may still be created.
(Even if a later -fprint filename is unwritable.) This is similar
behaviour to findutils. (It has been suggested that this find could
be code to create the files in an extra stage after the command-line
argument parsing and before the actual function processing.)

I will add -fprintx and -fprint0 soon.

This was discussed on tech-userlevel.
2005-10-12 20:03:59 +00:00
agc
89aaa1bb64 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
2003-08-07 11:13:06 +00:00
provos
ccc5fba3de Implement -iname for case insensitive matching on file names.
From freebsd/openbsd.  Approved by jaromir@, manu@, perry@.
2003-08-03 19:46:03 +00:00
provos
9972ef9ff8 support for -empty, -execdir, -mindepth, -maxdepth to match other UNIX-like
systems.  based on work by tholo@openbsd.org.  approved by perry.
2002-09-27 15:56:25 +00:00
kleink
4f0bdb5b24 Since we've already been down that road with -cnewer, support GNU find(1)'s
-anewer as well.
2001-12-02 12:46:39 +00:00
kleink
e7566d6000 Add a "cnewer" primary which evaluates true if a file has a more recent
ctime than its argument.

From kre in PR bin/14802; originally suggested name was "updated" but
renamed due to GNU find(1) being prior art for this functionality.
2001-12-01 14:10:04 +00:00
jdolecek
b029146cfa move the -and option in options[] table where it alphabetically belongs,
so that -amin works again
this fixes bin/11251
2000-10-18 08:58:11 +00:00
enami
7b4bdbc144 Cosmetic changes. 2000-03-16 18:44:29 +00:00
cgd
91ff0a1b87 add -regex and -iregex primaries which, like GNU find's primaries of the
same name, match files' entire paths against regular expressions.
-regex is case sensitive, -iregex is case-insensitive.  Note that these
primaries are _not_ entirely compatible with the GNU find primaries,
because their BREs appear to support alternation with \| whereas our BREs
do not.  Also note there are no primaries which provide extended regular
expressions matching, though if they are desired they would be trivial
to implement.
1999-07-20 01:28:41 +00:00
simonb
810471468e Add GNU-style -{a,c,m}min primaries. 1999-01-16 13:27:30 +00:00
lukem
98ae72f685 Add support for -printx, which quotes pathnames in an xargs friendly way.
From [bin/6790] by Eric Fischer <eric@fudge.uchicago.edu>
1999-01-12 00:18:50 +00:00
lukem
adfde6fdc9 Add support for "-flags [-]flags", which matches the file flags in a
similar way that "-perm [-]mode" matches the file mode.
1999-01-03 14:54:27 +00:00
christos
9a80b4fa85 Simplify the function calling code and warnsify. 1998-02-21 22:47:20 +00:00
mrg
7b983ca6d5 merge lite2, sans getvfsbyname in functions.c (waiting on libc) 1998-02-02 14:02:06 +00:00
lukem
6f330af093 fix .Nm usage, deprecate register, mostly WARNSify (needs minor rewrite to fix) 1997-10-19 11:52:59 +00:00
tls
9d225a1783 RCS ID police 1997-01-09 20:18:21 +00:00
jtc
3dfa59ec4a Merged our bugfixes with the 4.4BSD find from uunet. 1993-12-30 21:15:18 +00:00
jtc
3a2b9d8c2b Added -print0 (like GNU find). This will allow file names that contain
newlines to be correctly interpreted by programs that process find
output.
1993-10-27 17:52:30 +00:00
mycroft
e9d867ef50 Add RCS identifiers. 1993-08-01 17:54:45 +00:00
mycroft
ea595285f6 Remove bogus option so as not to confuse bsearch(). 1993-04-19 11:25:41 +00:00
cgd
61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00