Вы здесь

Как удалить дубликаты строк в файле?

tags: 

Вопрос. Мне необходимо отсортировать данные в лог файле, но в нем очень много дублированных строк. Как я могу удалить все дублированные линии из текстового файла под Linux.

Ответ. Вам необходимо использовать 2 команды шелл, перенаправив вывод одной в другую:

a] команда sort - сортирует строки в текстовом файле

b] uniq command - уведомляет или пропускает повторяющиеся строки

Удаляем дубликаты строк используя команды Sort и Uniq.

Используем следующий синтаксис:

sort {file-name} | uniq -u
sort file.log | uniq -u

Например у нас есть файл garbage.txt:
this is a test
food that are killing you
wings of fire
we hope that the labor spent in creating this software
this is a test
unix ips as well as enjoy our blog
Введите следующую команду:

sort garbage.txt | uniq -u

Результат исполнения:
food that are killing you
unix ips as well as enjoy our blog
we hope that the labor spent in creating this software
wings of fire
Где,

  • -u : удаляет все дубликаты строк

Оригинал статьи: http://guruadmin.ru/page/kak-udalit-dublikaty-testovyh-strok.