Commit Graph

166 Commits

Author SHA1 Message Date
Xin LI
821df508e8 Revert most part of 200420 as requested, as more review and polish is
needed.
2009-12-13 03:14:06 +00:00
Xin LI
6f2d322192 Remove unneeded header includes from usr.bin/ except contributed code.
Tested with:	make universe
2009-12-11 23:35:38 +00:00
Jilles Tjoelker
a05cb85237 Update find(1) man page for -L/-delete interaction.
It is a bit unfortunate that the example to delete broken symlinks now uses
rm(1), but allowing this with -delete would require fixing fts(3) to not
imply FTS_NOCHDIR if FTS_LOGICAL is given (or hacks in the -delete option).

PR:		bin/90687
MFC after:	2 weeks
2009-09-20 16:47:56 +00:00
Edward Tomasz Napierala
fa2db9145a Add NFSv4 ACL support to find(1).
Reviewed by:	rwatson
2009-09-04 20:01:16 +00:00
Jilles Tjoelker
6911f596a1 rm, find -delete: fix removing symlinks with uchg/uappnd set.
Formerly, this tried to clear the flags on the symlink's target
instead of the symlink itself.

As before, this only happens for root or for the unlink(1) variant of rm.

PR:		bin/111226 (part of)
Submitted by:	Martin Kammerhofer
Approved by:	ed (mentor)
MFC after:	3 weeks
2009-05-30 10:42:19 +00:00
Andriy Gapon
05e605b764 find: do not silently disable -L when -delete is used
First of all, current behavior is not documented and confusing,
and it can be very dangerous in the following sequence:
find -L . -type l
find -L . -type l -delete
(the second line is even suggested by find(1)).

Instead simply refuse to proceed when -L and -delete are both used.
A descriptive error message is provided.
The following command can be safely used to remove broken links:
find -L . -type l -print0 | xargs rm -0

To do:		update find(1)
PR:		bin/90687
Obtained from:	Anatoli Klassen <anatoli@aksoft.net>
Approved by:	jhb (mentor)
2009-05-19 14:23:54 +00:00
Ruslan Ermilov
dfab7fb13d Fix SYNOPSIS and usage(). 2008-03-03 08:32:58 +00:00
Ceri Davies
b390c31130 Bump .Dd for revisions 1.83 and 1.84. 2008-02-24 19:52:23 +00:00
Warner Losh
a66a6a2a0c Tag -ilname and -lname as GNU extensions.
Correct their descriptions to indicate that it is the contents of the
symbolic link that are matched.
2008-02-24 19:46:27 +00:00
Warner Losh
acebb585f7 The matching in -lname and -ilname are on the contents of the link
itself, not on the type of the file.  As such, do a readlink to get
the symbolic link's contents and fail to match if the path isn't a
symbolic link.

Pointed out by: des@
2008-02-24 00:01:06 +00:00
Warner Losh
46b993ff99 Implement a number of primaries present in GNU find, but not present
in our find.

The following are nops because they aren't relevant to our find:
	-ignore_readdir_race
	-noignore_readdir_race
	-noleaf
The following aliaes were created:
	-gid -> -group		[2]
	-uid -> -user		[2]
	-wholename -> -path
	-iwholename -> ipath
	-mount -> -xdev
	-d -> -depth		[1]
The following new primaries were created:
	-lname	like -name, but matches symbolic links only)
	-ilname like -lname but case insensitive
	-quit	exit(0)
	-samefile returns true for hard links to the specified file
	-true	Always true
I changed one primary to match GNU find since I think our use of it violates
POLA
	-false	Always false (was an alias for -not!)

Also, document the '+' modifier for -execdir, as well as all of the above.
This was previously implemented.

Document the remaining 7 primaries that are in GNU find, but aren't yet
implemented in find(1)

[1] This was done in GNU find for compatibility with FreeBSD, yet they
mixed up command line args and primary args.

[2] -uid/-gid in GNU find ONLY takes a numeric arg, but that arg does the
normal range thing that.  GNU find -user and -uid also take a numberic arg,
but don't do the range processing.  find(1) does both for -user and -group,
so making -uid and -gid aliases is compatible for all non-error cases used
in GNU find.  While not perfect emulation, this seems a reasonable thing
for us.
2008-02-23 16:29:04 +00:00
Ruslan Ermilov
fbccd9db48 Check in some insignificant fixes obtained as a result of
the translation work.
2007-02-28 10:19:25 +00:00
Ruslan Ermilov
3b0fbd312c Fix the description of the -Btime primary.
Noticed by:	Vadim Goncharov <vadimnuclight tpu.ru>
2006-12-13 17:02:50 +00:00
Ceri Davies
659a728e18 Update the list of POSIX extensions.
PR:		docs/103859
Submitted by:	shaun
MFC after:	1 week
2006-10-08 10:31:44 +00:00
Ruslan Ermilov
cb29445a92 Markup fixes. 2006-09-29 15:20:48 +00:00
Stefan Farfeleder
107f86a291 Document that the pathname(s) following the options need not be given if
-f pathname was specified.
2006-07-18 07:39:22 +00:00
Kirill Ponomarev
5a890aac57 Add the capability for a trailing scale indicator to cause the
specified size to be read in the more familiar units of kilobytes,
megabytes, gigabytes, terabytes and petabytes.

PR:		bin/50988
Submitted by:	Matthew Seaman <m.seaman@infracaninophile.co.uk>
MFC after:	7 days
2006-05-27 18:27:41 +00:00
Kirill Ponomarev
4ba3b38b64 Enable numeric arguments and +/- prefixes with -user (-group)
options.

PR:		bin/71513
Submitted by:	Andre Albsmeier <Andre.Albsmeier@siemens.com>
MFC after:	7 days
2006-05-25 21:20:43 +00:00
Kirill Ponomarev
22170420ec The last execution of -exec {} + is not done if the -exec primary is
not on the top-level -and sequence, e.g. inside of ! or -or.

Create a separate linked list of all active -exec {} + primaries and
do the last execution for all at termination.

PR:		bin/79263
Submitted by:	Jilles Tjoelker <jilles@stack.nl>
MFC after:	7 days
2006-05-14 20:23:01 +00:00
Ceri Davies
d11138e871 Fix options broken when the birthtime related primaries were added.
Note to self: if a comment says a list must be lexically sorted, sort
the list lexically.

Submitted by:	Pawel Worach
Approved by:	jhb
MFC after:	2 weeks
2006-04-05 23:06:11 +00:00
Ceri Davies
440a24d87d Note that all of the birthtime related primaries are non-standard. 2006-04-04 10:20:16 +00:00
Ceri Davies
bb0d5fd575 Bump .Dd for the birthtime options. 2006-04-03 20:53:34 +00:00
Ceri Davies
31d534254e Add -Btime, -Bnewer, -Bmin, -newerB[Bacmt], -newer[acmt]B options to
work with the st_birthtime field of struct stat.

'B' has been chosen to match the format specifier from stat(1).

Approved by:	jhb
MFC after:	2 weeks
2006-04-03 20:36:37 +00:00
Ollivier Robert
8a0a76b862 Fixes for gcc4.x.
Submitted by:   Divacky Roman <xdivac02@stud.fit.vutbr.cz>
PR:             bin/84991
2005-08-25 13:44:02 +00:00
Ruslan Ermilov
39c59153e9 Markup and wording fixes.
Approved by:	re (blanket)
2005-06-14 11:50:53 +00:00
Tim J. Robbins
ef6c77648a Use rpmatch() instead of checking for responses that begin with 'y'
in queryuser(). This allows users to respond to -ok and -okdir
prompts with any affirmative reply defined by their current locale.
2005-04-02 07:44:12 +00:00
Suleiman Souhlal
46c2bd6103 - Make find(1) WARNS?= 6 clean
- Bump to WARNS?= 6

Approved by:	stefanf, grehan (mentor)
2005-01-25 14:07:25 +00:00
Ruslan Ermilov
4438d91ea2 Scheduled mdoc(7) sweep. 2005-01-11 10:32:52 +00:00
Tim J. Robbins
e22bb9db9a Change the 'no terminating ";"' error message to 'no terminating ";" or "+"'
since + is also a valid way to terminate -exec.
2004-07-29 03:33:55 +00:00
Tim J. Robbins
cc4165333c Remove partial support for building this on NetBSD. 2004-07-29 03:29:44 +00:00
Tim J. Robbins
053e1a39a3 Now that fnmatch() supports multibyte characters, find does too; remove
entry from BUGS section that said otherwise.
2004-07-29 03:24:30 +00:00
Colin Percival
2cb640f6b1 Start new sentence on new line.
Pointed out by:	simon
2004-07-27 22:17:26 +00:00
Colin Percival
dfef91e977 Add a BUGS entry pointing out that -mindepth and -maxdepth are global
options even though they look like primaries.  (This is already documented
in the options themselves, but is sufficiently astonishing that I think it
deserves a BUGS entry as well.)
2004-07-27 21:22:14 +00:00
Colin Percival
ad4876008f Merge the "multibyte not supported" BUG into the pre-existing BUGS
section.

Move the HISTORY section to place it before BUGS rather than after BUGS,
in order to minimize the chance of this error being reproduced in the
future.  (Both mdoc(7) and 63% of manual pages have these sections listed
in this order.)
2004-07-27 21:13:04 +00:00
Ruslan Ermilov
2410103c1d mdoc(7) fixes. 2004-07-07 19:57:16 +00:00
Tim J. Robbins
4f45d81178 Document missing multibyte character support in utilities specified
by POSIX.
2004-07-03 01:28:21 +00:00
Tim J. Robbins
5854077600 Re-add half of UCB copyright notice that went missing in 1.20. 2004-07-03 01:08:03 +00:00
Oliver Eikemeier
1c8329632e - introduce a new primary `-depth n', which tests whether
the depth of the current file relative to the starting
  point of the traversal is n. The usual +/- modifiers
  to the argument apply.

- while I'm here, fix -maxdepth in the case of a depth-first
  traversal

Print the top ten maintainers of python module ports
(works with p5-* too):

find /usr/ports -depth 2 \! -name 'py-*' -prune -o \
  -depth 3 -name Makefile -execdir make -VMAINTAINER \; \
  | sort | uniq -c | sort -nr | head

PR:		66667
Reviewed by:	ru, joerg
Approved by:	joerg
MFC after:	2 weeks
2004-05-28 17:17:15 +00:00
Ruslan Ermilov
54874bb6b9 Bumped document date.
Fixed a bunch of hyphen misspellings.
Fixed one warning.
2004-05-19 09:49:37 +00:00
Oliver Eikemeier
9c61111db8 snafu, exchanged the descriptions of -maxdepth and -mindepth.
Noticed by:	ru
2004-05-16 10:35:14 +00:00
Oliver Eikemeier
d79829af6c -maxdepth and -mindepth are global variables
PR:		66613
Approved by:	ru
MFC after:	3 days
2004-05-14 12:58:13 +00:00
Dag-Erling Smørgrav
47d91ba394 Clarify and correct some compatibility notes.
PR:		65822
2004-04-21 00:42:55 +00:00
Tom Rhodes
53e87059f0 Add -acl and a small blurb about it to the options list.
Update date.
2004-04-07 14:48:30 +00:00
Bosko Milekic
9c5d31dff2 Give find(1) the option -acl to locate files with extended
ACLs.  This is similar to what ls(1) can do.  It is handy to
have it so that it can be used in conjunction with
"-exec setfacl {} \;" (to find(1)), among others.

This is the submitter's patch, but slightly modified.

PR: bin/65016
Submitted by: Christian S.J. Peron <maneo@bsdpro.com>
2004-04-03 17:10:04 +00:00
Tom Rhodes
e578c2421c Update the find manual page:
1: Document -follow under COMPATIBILITY.
2: Update an example to be a little more 'safe'.
3: Use '/' in place of '.' for an example; similar to other manual pages.

PR:		40196 (1), 39532 (2, 3)
Submitted by:	Marc Silver <marcs@draenor.org> (2 and 3)
Discussed with:	des (1)
2004-02-27 20:04:38 +00:00
Dag-Erling Smørgrav
24126ee089 Typo. 2004-02-23 09:08:27 +00:00
Dag-Erling Smørgrav
e562f8fb28 Use a larger field for the size in blocks; the current width (4 digits)
is only good for 5 MB.
2004-01-20 09:27:03 +00:00
Jens Schweikhardt
6a2b59f8a7 State that in -exec ... ; the semicolon should be quoted if invoked from
a shell.

PR:	docs/54667
Submitted by:	Patrick Alken <pa59@cornell.edu>
MFC after:	3 days
2003-07-25 17:32:43 +00:00
Mark Murray
ef646f18aa Fix all WARNS. Checked with "make WARNS=9". Remove unused file. 2003-06-14 13:00:21 +00:00
Dag-Erling Smørgrav
db6b8c956f Correctly alphabetize options[] so we don't stop at -nouser when searching
for -not.

PR:		bin/48423
Submitted by:	Matsumura Naoki <matsu@jp.FreeBSD.org>
MFC after:	3 days
2003-02-18 14:30:43 +00:00