From c1c1220cb189815fa3905d8cfa0a77566e094f24 Mon Sep 17 00:00:00 2001 From: bde Date: Sun, 6 Jul 1997 06:54:14 +0000 Subject: Finish importing Lite2's src/usr.bin, except for ex, diff, grep, mail, pascal and vmstat.sparc. All changed files on the vendor branch should already have been imported. --- usr.bin/sort/sort.1 | 310 ++++++++++++++++++++++++++++++++++++++++++++++ usr.bin/whereis/whereis.1 | 6 +- usr.bin/whereis/whereis.c | 9 +- 3 files changed, 320 insertions(+), 5 deletions(-) create mode 100644 usr.bin/sort/sort.1 (limited to 'usr.bin') diff --git a/usr.bin/sort/sort.1 b/usr.bin/sort/sort.1 new file mode 100644 index 0000000..574efc3 --- /dev/null +++ b/usr.bin/sort/sort.1 @@ -0,0 +1,310 @@ +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)sort.1 8.2 (Berkeley) 5/4/95 +.\" +.Dd May 4, 1995 +.Dt SORT 1 +.Os +.Sh NAME +.Nm sort +.Nd sort or merge text files +.Sh SYNOPSIS +.Nm sort +.Op Fl mubdfinrtx +.Oo +.Cm \(pl Ns Ar pos1 +.Op Fl Ns Ar pos2 +.Oc +.Ar ... +.Op Fl o Ar output +.Op Fl T Ar directory +.Op Ar file +.Ar ... +.Sh DESCRIPTION +The +.Nm sort +utility +sorts text files by lines. +Comparisons are based on one or more sort keys (or fields) extracted +from each line of input, and are performed +lexicographically. By default, if keys are not given, +.Nm sort +regards each input line as a single field. +.Pp +The following options are available: +.Bl -tag -width indent +.It Fl c +Check that the single input file is sorted lexicographically. +If the file is not sorted, +.Nm sort +sorts it and writes the sorted output to the standard output or the +filename specified by the +.Fl o +option. +.It Fl m +Merge only; the input files are assumed to be pre-sorted. +.It Fl o Ar output +The argument given is the name of an +.Ar output +file to +be used instead of the standard output. +This file +can be the same as one of the input files. +.It Fl T Ar directory +The argument +.Ar directory +is used for creating temporary files. +.It Fl u +Unique: suppress all but one in each set of lines +having equal keys. +If used with the +.Fl c +option, +check that there are no lines with duplicate keys. +.El +.Pp +The following options override the default ordering rules. +When ordering options appear independent of key field +specifications, the requested field ordering rules are +applied globally to all sort keys. +.\" When attached to a +.\" specific key +.\" (see +.\" .Fl k ) , +.\" the specified ordering options override +.\" all global ordering options for that key. +.Bl -tag -width indent +.It Fl d +Only blank space and alphanumeric characters +.\" according +.\" to the current setting of LC_CTYPE +are used +in making comparisons. +.It Fl f +Considers all lowercase characters that have uppercase +equivalents to be the same for purposes of +comparison. +.It Fl i +Ignore all non-printable characters. +.It Fl n +An initial numeric string, consisting of optional +blank space, optional minus sign, and zero or more +digits (including decimal point) +.\" with +.\" optional radix character and thousands +.\" separator +.\" (as defined in the current locale), +is sorted by arithmetic value. +The +.Fl n +option implies +the +.Fl b +option. (See below.) +Note that the +.Fl b +option +is only effective when key fields have been specified +and that +.Fl \&0 +is considered equal to zero. +.It Fl r +Reverse the sense of comparisons. +.El +.Pp +The treatment of field separators can be altered using the +options: +.Bl -tag -width indent +.It Fl b +Leading blank spaces are ignored when determining the starting +ending positions of a restricted sort key. +If the +.Fl b +option is specified before the first +.Cm \(pl Ns Ar pos1 +argument, it shall be applied to all +.Cm \(pl Ns Ar pos1 +arguments. +Otherwise, the +.Fl b +option can be +attached independently to each +.Cm \(pl Ns Ar pos1 +or +.Fl Ar pos2 +argument (see below). +.It Fl t Ar char +.Ar Char +is used as the field separator character; +.Ar char +is not considered to be part of a field (although it +can be included in a sort key). +Each occurrence of +.Ar char +is significant (for example, +.Dq Ar charchar +delimits an empty field). +If +.Fl t +is not specified, +blank space characters are used as default field +separators. +.It Cm \(pl Ns Ar pos1 +Designates the start position of a key field. +.It Fl Ns Ar pos1 +Designates the end position of a key field. +.El +.Pp +The following operands are available: +.Bl -tag -width indent +.Ar file +The pathname of a file to be sorted, merged, or checked. +If no file +operands are specified, or if +a file operand is +.Fl , +the standard input is used. +.Pp +A field is +defined as a minimal sequence of characters followed by a +field separator or a newline character. +By default, the first +blank space of a sequence of blank spaces acts as the field separator. +All blank spaces in a sequence of blank spaces are considered +to be part of the next field; for example, all blank spaces at +the beginning of a line are considered to be part of the +first field. +.Pp +Fields are specified +by the +.Cm \(pl Ns Ar pos1 +and +.Fl Ar pos2 +arguments. A missing +.Cm \(pl Ns Ar pos1 +argument defaults to the beginning of a line. +A missing +.Fl Ar pos2 +argument defaults to the end of a line. +.Pp +The arguments +.Cm \(pl Ns Ar pos1 +and +.Fl Ar pos2 +have the form +.Em m.n +followed by one or more of the options +.Fl b , d , f , i , +.Fl n , r . +A +.Cm \(pl Ns Ar pos1 +position specified by +.Em m.n +is interpreted to +mean the +.Em n Ns th +character in the +.Em m Ns \(pl1th +field. +A missing +.Em \&.n +means +.Ql \&.0 , +indicating the first character of the +.Em m Ns \(pl1th +field. +If the +.Fl b +option is in effect, +.Em n +is counted from the first +non-blank character in the +.Em m Ns \(pl1th +field; +.Em m Ns \&.0b +refers to the first +non-blank character in the +.Em m Ns \(pl1th +field. +.Pp +A +.Fl Ar pos2 +position specified by +.Em m.n +is interpreted to mean +the +.Em n Ns th +character (including separators) after the last +character of the +.Em m Ns th +field. +A missing +.Em \&.n +means +.Ql \&.0 , +indicating +the last character of the +.Em m Ns th +field. +If the +.Fl b +option +is in effect, +.Em n +is counted from the last leading blank character in +the +.Em m Ns \(pl1th +field; +.Em m Ns \&.1b +refers to the first non-blank character in the +.Em m Ns \(pl1th +field. +.Sh FILES +.Bl -tag -width Pa -compact +.It Pa /var/tmp/stm*, /tmp/* +Default temporary directories (in order of search). +.El +.Sh SEE ALSO +.Xr comm 1 , +.Xr uniq 1 , +.Xr join 1 +.Sh DIAGNOSTICS +.Sh BUGS +Lines which are longer than 4096 are discarded and processing continues. +.Sh HISTORY +A +.Nm +command appeared in +.At v6 . diff --git a/usr.bin/whereis/whereis.1 b/usr.bin/whereis/whereis.1 index fa1f5a4..ee90db0 100644 --- a/usr.bin/whereis/whereis.1 +++ b/usr.bin/whereis/whereis.1 @@ -29,9 +29,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" @(#)whereis.1 8.2 (Berkeley) 12/30/93 +.\" @(#)whereis.1 8.3 (Berkeley) 4/27/95 .\" -.Dd December 30, 1993 +.Dd April 27, 1995 .Dt WHEREIS 1 .Os BSD 3 .Sh NAME @@ -52,7 +52,7 @@ utility for the .Dq user.cs_path string. .Sh SEE ALSO -.Xr sysctl 8 , +.Xr sysctl 8 .Sh COMPATIBILITY The historic flags and arguments for the .Nm whereis diff --git a/usr.bin/whereis/whereis.c b/usr.bin/whereis/whereis.c index 8c75f5e..4e39cda 100644 --- a/usr.bin/whereis/whereis.c +++ b/usr.bin/whereis/whereis.c @@ -38,7 +38,7 @@ static char copyright[] = #endif /* not lint */ #ifndef lint -static char sccsid[] = "@(#)whereis.c 8.1 (Berkeley) 6/6/93"; +static char sccsid[] = "@(#)whereis.c 8.3 (Berkeley) 5/4/95"; #endif /* not lint */ #include @@ -50,6 +50,7 @@ static char sccsid[] = "@(#)whereis.c 8.1 (Berkeley) 6/6/93"; #include #include #include +#include void usage __P((void)); @@ -72,6 +73,9 @@ main(argc, argv) argc -= optind; argv += optind; + if (argc == 0) + usage(); + /* Retrieve the standard path. */ mib[0] = CTL_USER; mib[1] = USER_CS_PATH; @@ -110,6 +114,7 @@ main(argc, argv) void usage() { - (void)fprintf(stderr, "whereis: program ...\n"); + + (void)fprintf(stderr, "usage: whereis program [...]\n"); exit (1); } -- cgit v1.1