Seen in the wild. Alias for ! that's friendlier to the shell.
Index: find.1
===================================================================
RCS file: /cvs/src/usr.bin/find/find.1,v
retrieving revision 1.95
diff -u -p -r1.95 find.1
--- find.1 1 Aug 2018 07:09:15 -0000 1.95
+++ find.1 6 Dec 2018 03:50:10 -0000
@@ -524,6 +524,7 @@ This evaluates to true if the parenthesi
true.
.Pp
.It Cm \&! Ar expression
+.It Cm -not Ar expression
This is the unary NOT operator.
It evaluates to true if the expression is false.
.Pp
@@ -624,9 +625,10 @@ primaries
and
.Ic -print0 ,
and operators
-.Fl or
-and
.Fl and ,
+.Fl not ,
+and
+.Fl or ,
are extensions to that specification.
.Pp
Historically, the
Index: option.c
===================================================================
RCS file: /cvs/src/usr.bin/find/option.c,v
retrieving revision 1.20
diff -u -p -r1.20 option.c
--- option.c 3 Jan 2017 21:31:16 -0000 1.20
+++ option.c 6 Dec 2018 03:44:12 -0000
@@ -80,6 +80,7 @@ static OPTION options[] = {
{ "-name", N_NAME, c_name, O_ARGV },
{ "-newer", N_NEWER, c_newer, O_ARGV },
{ "-nogroup", N_NOGROUP, c_nogroup, O_ZERO },
+ { "-not", N_NOT, c_not, O_ZERO },
{ "-nouser", N_NOUSER, c_nouser, O_ZERO },
{ "-o", N_OR, c_or, O_ZERO },
{ "-ok", N_OK, c_exec, O_ARGVP },