.\" 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. .\" .\" From: @(#)uniq.1 8.1 (Berkeley) 6/6/93 .\" %FreeBSD: src/usr.bin/uniq/uniq.1,v 1.20 2007/01/15 23:25:51 keramida Exp % .\" $FreeBSDru: frdp/doc/ru_RU.KOI8-R/man/man1/uniq.1,v 1.2 2007/10/30 19:39:38 ru Exp $ .\" $FreeBSD$ .\" .Dd 3 июля 2004 .Dt UNIQ 1 .Os .Sh НАЗВАНИЕ .Nm uniq .Nd вывести или отфильтровать повторяющиеся строки в файле .Sh СИНТАКСИС .Nm .Op Fl c | Fl d | Fl u .Op Fl i .Op Fl f Ar число_полей .Op Fl s Ar число_символов .Oo .Ar входной_файл .Op Ar выходной_файл .Oc .Sh ОПИСАНИЕ Утилита .Nm читает .Ar входной_файл , сравнивает соседние строки и пишет копию каждой уникальной входной строки в .Ar выходной_файл . Если .Ar входной_файл задан как .Pq Sq Fl или не задан вовсе, чтение производится из стандартного ввода. Если .Ar выходной_файл не задан, запись производится в стандартный вывод. Вторая и последующие копии повторяющихся соседних строк не записываются. Повторяющиеся входные строки не распознаются, если они не следуют строго друг за другом, поэтому может потребоваться предварительная сортировка файлов. .Pp Имеются следующие опции: .Bl -tag -width Ds .It Fl c Перед каждой строкой выводить число повторений этой строки на входе и один пробел. .It Fl d Выводить только те строки, которые повторяются на входе. .It Fl f Ar число_полей Игнорировать при сравнении первые .Ar число_полей полей каждой строки ввода. Полем является строка непробельных символов, отделённая от соседних полей пробельными символами. Поля нумеруются начиная с единицы. .It Fl s Ar число_символов Игнорировать при сравнении первые .Ar число_символов символов каждой строки ввода. Если эта опция указана совместно с .Fl f , то будут игнорироваться первые .Ar число_полей полей, а затем ещё .Ar число_символов символов. Символы также нумеруются начиная с единицы. .It Fl u Выводить только те строки, которые не повторяются на входе. .It Fl i Сравнивать строки без учёта регистра. .\".It Fl Ns Ar n .\"(Deprecated; replaced by .\".Fl f ) . .\"Ignore the first n .\"fields on each input line when doing comparisons, .\"where n is a number. .\"A field is a string of non-blank .\"characters separated from adjacent fields .\"by blanks. .\".It Cm \&\(pl Ns Ar n .\"(Deprecated; replaced by .\".Fl s ) . .\"Ignore the first .\".Ar m .\"characters when doing comparisons, where .\".Ar m .\"is a .\"number. .El .Sh ОКРУЖЕНИЕ Переменные окружения .Ev LANG , .Ev LC_ALL , .Ev LC_COLLATE и .Ev LC_CTYPE влияют на процесс выполнения .Nm , как описано в .Xr environ 7 . .Sh СТАТУС ЗАВЕРШЕНИЯ .Ex -std .Sh СОВМЕСТИМОСТЬ Традиционные опции .Cm \&\(pl Ns Ar число и .Fl Ns Ar число устарели, но всё ещё поддерживаются в этой реализации. .Sh СМОТРИ ТАКЖЕ .Xr sort 1 .Sh СТАНДАРТЫ Утилита .Nm соответствует стандарту .St -p1003.1-2001 с поправками Cor.\& 1-2002. .Sh ИСТОРИЯ Команда .Nm появилась в .At v3 . .Sh ПРОБЛЕМЫ Длина входных строк ограничена .Dv LINE_MAX (2048) символами.