Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SORT(1)			    General Commands Manual		       SORT(1)

NAME
       sort - sort or merge files

SYNTAX
       sort [ -mubdfinrt_________x ] [ +pos1  [	-pos2 ]	] [ -o name ] [	-T di-
       rectory ] [ files ]

DESCRIPTION
       Sort sorts lines	of all the named files together	and writes the	result
       on  the standard	output.	 If no input files are named, the standard in-
       put is sorted.  The name	"-" also means read input from standard	input.

       The default sort	key is an entire line.	Default	 ordering  is  lexico-
       graphic	by  bytes  in the machine collating sequence.  The ordering is
       affected	globally by the	following options, one or more	of  which  may
       appear.

       b    Ignore leading blanks (spaces and tabs) in field comparisons.

       d    `Dictionary'  order:  only letters,	digits and blanks are signifi-
	    cant in comparisons.

       f    Fold upper case letters onto lower case.

       i    Ignore characters outside the ASCII	range (040-0176) in nonnumeric
	    comparisons.

       n    An initial numeric string, consisting of optional blanks, optional
	    minus sign,	and zero or more digits	with optional  decimal	point,
	    is sorted by arithmetic value.  Option n implies option b.

       r    Reverse the	sense of comparisons.

       tx   `Tab character' separating fields is x.

       The  notation  +pos1 -pos2 restricts a sort key to a field beginning at
       pos1 and	ending just before pos2.  pos1 and pos2	 each  have  the  form
       m.n,  optionally	 followed  by one or more of the flags bdfinr, where m
       tells a number of fields	to skip	from the beginning of the line	and  n
       tells a number of characters to skip further.  If any flags are present
       they override all the global ordering options for this key.  If	the  b
       option  is in effect n is counted from the first	nonblank in the	field;
       b is attached independently to pos2.  A missing .n means	.0; a  missing
       -pos2  means  the  end  of  the line.  Under the	-tx option, fields are
       strings separated by x; otherwise fields	are nonempty nonblank  strings
       separated by blanks.

       When  there  are	multiple sort keys, later keys are compared only after
       all earlier keys	compare	equal.	Lines that otherwise compare equal are
       ordered on the basis of all bytes in the	line.

       These option arguments are also understood:

       c    Check  that	 the  input  file  is sorted according to the ordering
	    rules; give	no output unless the file is out of sort.

       m    Merge only,	the input files	are already sorted.

       o    The	next argument is the name of an	output file to use instead  of
	    the	 standard output.  This	file may be the	same as	one of the in-
	    puts.

       T    The	next argument is the name of a directory  in  which  temporary
	    files should be made.

       u    Suppress  all  but	one in each set	of equal lines.	 Ignored bytes
	    and	bytes outside keys do not participate in this comparison.

FILES
       /usr/tmp/stm*	   first try for temporary files
       /tmp/*		   second trie for temporary files

SEE ALSO
       comm(1),	join(1), rev(1), uniq(1)

DIAGNOSTICS
       Comments	and exits with nonzero status for various  trouble  conditions
       and for disorder	discovered under option	-c.

BUGS
       Very long lines are silently truncated.

EXAMPLES
       Sort a file called list in numeric order:

	       sort  -n	 list

       Sort by field 3 in file list where fields are separated by ";":

	       sort  -t;  +2  -3  list

       Sort by columns 10 to 24	in numeric order:

	       sort  -n	 +0.9  -0.24  list

       Take  the  case where columns 10	to 24 are dates	where each two columns
       is respectively year, month, day, hour, minute, and columns  20	to  24
       are  seconds  such  as  20.34.	Furthermore, assume the	seconds	can be
       blank.  Then sorting must not be	numeric	since these are	left justified
       numbers and lexicographic sorting is required.

	       sort  +0.9  -0.24  list

       Sort  by	 columns 3 and 4 of field 10 where the fields are separated by
       ":":

	       sort  -t:  +9.2	-9.4  list

       Print in	alphabetical order all the  unique  spellings  in  a  list  of
       words.  Capitalized words differ	from uncapitalized.

	       sort  -u	 +0f  +0  list

       Print  the  password file (passwd(5)) sorted by user id number (the 3rd
       colon-separated field).

	       sort  -t:  +2n  /etc/passwd

       Print the first instance	of each	month in an  already  sorted  file  of
       (month day) entries.  The options -um with just one input file make the
       choice of a unique representative from a	set of	equal  lines  predict-
       able.

	       sort  -um  +0  -1 dates

								       SORT(1)

NAME | SYNTAX | DESCRIPTION | FILES | SEE ALSO | DIAGNOSTICS | BUGS | EXAMPLES

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=sort&manpath=2.9.1+BSD>

home | help