Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Uniq
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Unix text filtering utility}} {{about|the command-line utility|other uses|Uniq (disambiguation)}} {{lowercase title}} {{Infobox software | name = uniq | logo = | screenshot = | screenshot size = | caption = | author = [[Ken Thompson]]<br />([[AT&T Bell Laboratories]]) | developer = Various [[open-source software|open-source]] and [[commercial software|commercial]] developers | released = {{Start date and age|1973|2}} | latest release version = | latest release date = | programming language = [[C (programming language)|C]] | operating system = [[Unix]], [[Unix-like]], [[Plan 9 from Bell Labs|Plan 9]], [[Inferno (operating system)|Inferno]], [[MSX-DOS]], [[IBM i]] | platform = [[Cross-platform]] | genre = [[Command (computing)|Command]] | license = [[coreutils]]: [[GPLv3+]]<br />Plan 9: [[MIT License]] | website = {{URL|http://man7.org/linux/man-pages/man1/uniq.1.html}} }} <code>'''uniq'''</code> is a utility [[command (computing)|command]] on [[Unix]], [[Plan 9 from Bell Labs|Plan 9]], [[Inferno (operating system)|Inferno]], and [[Unix-like]] [[operating system]]s which, when fed a [[text file]] or [[Standard streams#Standard input (stdin)|standard input]], outputs the text with adjacent identical lines collapsed to one, unique line of text. ==Overview== The command is a kind of [[filter program]]. Typically it is used after [[Sort (Unix)|<code>sort</code>]]. It can also output only the duplicate lines (with the <code>-d</code> option), or add the number of occurrences of each line (with the <code>-c</code> option). For example, the following command lists the unique lines in a file, sorted by the number of times each occurs: <syntaxhighlight lang="sh"> $ sort file | uniq -c | sort -n </syntaxhighlight> Using <code>uniq</code> like this is common when building [[pipeline (software)|pipelines]] in [[shell script]]s. ==History== First appearing in [[Version 3 Unix]],<ref name="reader">{{cite tech report | first1 = M. D. | last1 = McIlroy | authorlink1 = Doug McIlroy | year = 1987 | url = https://www.cs.dartmouth.edu/~doug/reader.pdf | title = A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971β1986 | series = CSTR | number = 139 | institution = Bell Labs}}</ref> <code>uniq</code> is now available for a number of different [[Unix]] and [[Unix-like]] [[operating system]]s. It is part of the [[X/Open]] Portability Guide since issue 2 of 1987. It was inherited into the first version of POSIX and the [[Single Unix Specification]].<ref>{{man|cu|uniq|SUS}}</ref> The version bundled in [[GNU]] [[coreutils]] was written by [[Richard Stallman]] and David MacKenzie.<ref>{{man|1|uniq|ManKier}}</ref> A <code>uniq</code> command is also part of [[ASCII Corporation|ASCII]]'s ''MSX-DOS2 Tools'' for [[MSX-DOS]] version 2.<ref>[https://archive.org/details/MSXDOS2TOOLS MSX-DOS2 Tools User's Manual by ASCII Corporation]</ref> The command is available as a separate package for [[Microsoft Windows]] as part of the [[GnuWin32]] project<ref>[http://gnuwin32.sourceforge.net/packages/coreutils.htm CoreUtils for Windows]</ref> and the [[UnxUtils]] collection of [[Native (computing)|native]] [[Windows API|Win32]] [[porting|ports]] of common GNU Unix-like utilities.<ref>[http://unxutils.sourceforge.net/ Native Win32 ports of some GNU utilities]</ref> The {{Mono|uniq}} command has also been ported to the [[IBM i]] operating system.<ref>{{cite web |title=IBM System i Version 7.2 Programming Qshell |language=en |author=IBM |website=[[IBM]] |author-link=IBM |url=https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_74/rzahz/rzahzpdf.pdf?view=kc |access-date=2020-09-05 }}</ref> ==See also== * [[List of Unix commands]] ==References== {{Reflist}} ==External links== {{Wikibooks|Guide to Unix|Commands}} * {{man|1|uniq|Linux}} * {{man|1|uniq|Plan 9}} * {{man|1|uniq|Inferno}} * [https://sourceforge.net/projects/unxutils/ SourceForge UnxUtils β Port of several GNU utilities to Windows] {{Unix commands}} {{Plan 9 commands}} {{Core Utilities commands}} [[Category:Unix text processing utilities]] [[Category:Unix SUS2008 utilities]] [[Category:Plan 9 commands]] [[Category:Inferno (operating system) commands]] [[Category:IBM i Qshell commands]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:About
(
edit
)
Template:Cite tech report
(
edit
)
Template:Cite web
(
edit
)
Template:Core Utilities commands
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Lowercase title
(
edit
)
Template:Main other
(
edit
)
Template:Man
(
edit
)
Template:Mono
(
edit
)
Template:Plan 9 commands
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Sister project
(
edit
)
Template:Template other
(
edit
)
Template:Unix commands
(
edit
)
Template:Wikibooks
(
edit
)