Chvalov
@Chvalov

Объясните что лучше AWK или UNIQ в Linux (Удаления дублей с большего файла)?

Есть txt файл объем которого 107ГБ свободно на винте 109 ГБ.
Что лучше использовать чтобы быстро избавиться от дублей строк в текстовом файле.

Пробовал команду "awk '!seen[$0]++' text.txt"
Начинало все красиво и очень быстро но спустя 15-17 часов я уже видел как оно все по строчке делает и уж очень начал тупить комп.

Смотрю в сторону uniq text.txt> text_new.txt
но не знаю на сколько оно будет лучше предыдущей команды.

Кто что сможет посоветовать ?
  • Вопрос задан
  • 1268 просмотров
Решения вопроса 3
martin74ua
@martin74ua Куратор тега Linux
Linux administrator
не выводите на экран результат и скорость вас приятно удивит ;)
awk и uniq примерно одинаковы по скорости

Я через sed и awk работаю с дампами базы данных, текстовый файл на 250 гиг... Время обработки - выделения конкретной таблицы и вырезания ее из текста - в общей сложности минут 5 после постановки задачи...
Ответ написан
Chvalov
@Chvalov Автор вопроса
Самый быстрый способ сортировки и удаления дублей
sort file.txt -u > result.txt107Гб за час :)
Ответ написан
Комментировать
@kdaniel
Согласен с предыдущим пользователем, не делайте вывод файла в консоль. Если будете смотреть в сторону uniq, ее применять вместе с sort, к примеру:

sort bigfile.csv | uniq > bigfile1.csv
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы