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

  
 
  

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

NAME
     sort - sort or merge files

SYNTAX
     sort  [ -mubdfinrt_________x ] [ +pos1  [ -pos2 ] ] [ -o name ] [ -T direc-
     tory ] [ 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 input is
     sorted.  The name "-" also means read input from standard input.

     The default sort key is an entire line.  Default ordering is  lexicographic
     by bytes in the machine collating sequence.  The ordering is affected glob-
     ally 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 significant 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 mi-
	  nus 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, option-
     ally 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 char-
     acters 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 inputs.

     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 sec-
     onds such as 20.34.  Furthermore, assume the seconds can  be  blank.   Then
     sorting must not be numeric since these are left justified numbers and lex-
     icographic 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 predictable.

	     sort  -um	+0  -1 dates

									 SORT(1)

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

home | help