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

FreeBSD Manual Pages

  
 
  

home | help
UNIQ(1)			FreeBSD	General	Commands Manual		       UNIQ(1)

NAME
     uniq -- report or filter out repeated lines in a file

SYNOPSIS
     uniq [-c |	-d | -D	| -u] [-i] [-f num] [-s	chars] [input_file
	  [output_file]]

DESCRIPTION
     The uniq utility reads the	specified input_file comparing adjacent	lines,
     and writes	a copy of each unique input line to the	output_file.  If
     input_file	is a single dash (`-') or absent, the standard input is	read.
     If	output_file is absent, standard	output is used for output.  The	second
     and succeeding copies of identical	adjacent input lines are not written.
     Repeated lines in the input will not be detected if they are not adja-
     cent, so it may be	necessary to sort the files first.

     The following options are available:

     -c, --count
	     Precede each output line with the count of	the number of times
	     the line occurred in the input, followed by a single space.

     -d, --repeated
	     Output a single copy of each line that is repeated	in the input.

     -D, --all-repeated	[septype]
	     Output all	lines that are repeated	(like -d, but each copy	of the
	     repeated line is written).	 The optional septype argument con-
	     trols how to separate groups of repeated lines in the output; it
	     must be one of the	following values:

	     none      Do not separate groups of lines (this is	the default).
	     prepend   Output an empty line before each	group of lines.
	     separate  Output an empty line after each group of	lines.

     -f	num, --skip-fields num
	     Ignore the	first num fields in each input line when doing compar-
	     isons.  A field is	a string of non-blank characters separated
	     from adjacent fields by blanks.  Field numbers are	one based,
	     i.e., the first field is field one.

     -i, --ignore-case
	     Case insensitive comparison of lines.

     -s	chars, --skip-chars chars
	     Ignore the	first chars characters in each input line when doing
	     comparisons.  If specified	in conjunction with the	-f, --unique
	     option, the first chars characters	after the first	num fields
	     will be ignored.  Character numbers are one based,	i.e., the
	     first character is	character one.

     -u, --unique
	     Only output lines that are	not repeated in	the input.

ENVIRONMENT
     The LANG, LC_ALL, LC_COLLATE and LC_CTYPE environment variables affect
     the execution of uniq as described	in environ(7).

EXIT STATUS
     The uniq utility exits 0 on success, and >0 if an error occurs.

EXAMPLES
     Assuming a	file named cities.txt with the following content:

	   Madrid
	   Lisbon
	   Madrid

     The following command reports three different lines since identical ele-
     ments are not adjacent:

	   $ uniq -u cities.txt
	   Madrid
	   Lisbon
	   Madrid

     Sort the file and count the number	of identical lines:

	   $ sort cities.txt | uniq -c
		   1 Lisbon
		   2 Madrid

     Assuming the following content for	the file cities.txt:

	   madrid
	   Madrid
	   Lisbon

     Show repeated lines ignoring case sensitiveness:

	   $ uniq -d -i	cities.txt
	   madrid

     Same as above but showing the whole group of repeated lines:

	   $ uniq -D -i	cities.txt
	   madrid
	   Madrid

     Report the	number of identical lines ignoring the first character of ev-
     ery line:

	   $ uniq -s 1 -c cities.txt
		   2 madrid
		   1 Lisbon

COMPATIBILITY
     The historic +number and -number options have been	deprecated but are
     still supported in	this implementation.

SEE ALSO
     sort(1)

STANDARDS
     The uniq utility conforms to IEEE Std 1003.1-2001 ("POSIX.1") as amended
     by	Cor. 1-2002.

HISTORY
     A uniq command appeared in	Version	3 AT&T UNIX.

FreeBSD	13.0			 June 7, 2020			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | ENVIRONMENT | EXIT STATUS | EXAMPLES | COMPATIBILITY | SEE ALSO | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=uniq&sektion=1&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help