кошка duplicate1.txt | sort -k 2 | uniq -f 1
Если вас интересует флаг «сортировка», он указывает «сортировать» на сортировку на основе второго столбца.
Отображать все строки, кроме отдельных дубликатов
Согласно всем примерам, упомянутым выше, «uniq» сохраняет только первое вхождение дублированного контента и удаляет остальное. Как насчет полного удаления дублированного содержимого? Да, используя флаг «-u», мы можем заставить «uniq» сохранять только неповторяющиеся строки.
кошка дубликат.txt | Сортировать
кошка дубликат.txt | сортировать | uniq -u
Хм, слишком много дубликатов исчезло ..
Пропустить начальные символы
Мы обсуждали, как сказать «uniq» выполнять свою работу в других областях, верно? Пора начинать проверку после ряда начальных символов. Для этого флаг «-s», сопровождаемый количеством символов, будет указывать «uniq» на выполнение работы.
кошка duplicate1.txt | sort -k 2 | uniq -s 2
Это похоже на пример, где «uniq» должен был выполнять свою задачу только во втором поле. Давайте посмотрим на другой пример с этим трюком.
кошка дубликат.txt | сортировать | uniq -s 5
Проверяйте ТОЛЬКО начальные символы
Так же, как мы сказали «uniq» пропустить первую пару символов, также можно указать «uniq», чтобы просто ограничить проверку в пределах первой пары символов. Для этой цели есть специальный флаг «-w».
кошка дубликат.txt | сортировать | uniq -w 5
Эта команда сообщает "uniq" выполнить проверку уникальности в пределах первых 5 символов.
Давайте посмотрим еще один пример этой команды.
кошка duplicate1.txt | сортировать | uniq -w 5
Он стирает все другие экземпляры «повторяющихся» записей, потому что выполнял проверку уникальности в части «dupli».
Нечувствительность к регистру
При проверке уникальности «uniq» также проверяет регистр символов. В некоторых ситуациях чувствительность к регистру не имеет значения, поэтому мы можем использовать флаг «-i», чтобы сделать «uniq» нечувствительным к регистру.
Здесь я представляю вам демонстрационный файл.
Какое-то действительно умное дублирование со смесью прописных и строчных букв, справа? Пришло время призвать силы «uniq», чтобы очистить беспорядок!
кошка duplicate1.txt | сортировать | uniq -i
Желание исполнено!
Вывод с завершающим нулем
По умолчанию uniq завершает вывод новой строкой. Однако вывод также может быть завершен NULL. Это очень полезно, если вы собираетесь использовать его в сценариях. Здесь флаг «-z» указывает на то, что делает работу.
кошка дубликат.txt | сортировать | uniq -z
Объединение нескольких флагов
Мы выучили ряд флагов «uniq», верно? Как насчет того, чтобы объединить их вместе?
Например, я объединяю нечувствительность к регистру и количество повторений вместе.
Если вы когда-нибудь планируете смешивать несколько флагов вместе, сначала убедитесь, что они правильно работают вместе. Иногда все работает не так, как должно.
Последние мысли
«Uniq» - довольно уникальный инструмент, который предлагает Linux. Благодаря такому количеству мощных функций он может быть полезен множеством способов. Список всех флагов и их объяснения можно найти на страницах man и info на «uniq».
человек uniq
информация uniq
Наслаждаться!