[Comm] удалить одинаковые строки из разных файлов
Denis Kirienko
=?iso-8859-1?q?dk=5Ffor=5Flists_=CE=C1_lmsh=2Eedu=2Eru?=
Вт Май 3 16:42:40 MSD 2005
Получил Tue, 3 May 2005 16:26:52 +0400 от Roman V. Tutov следующее
письмо:
> Мне стыдно задавать такой вопрос ...но что-то я своим умом не дохожу
>
> Есть 2 файла . Больших . В них есть одинаковые строки . Их нужно
> удалить .
Штатными средствами, похоже, что никак. Надо программу писать.
Хотя не исключаю, что здесь найдутся специалисты, которые смогут это
сварганить на bash+gnu tools. Ну, например, бежим циклом по строкам
одного файла, грепим второй файл на предмет наличия этой строки, в
зависимости от результата выводим или нет строку в новый файл.
Такое тупое решение будет работать за n*m действий, где n и m -
количество строк в файлах. Более продвинутое (сначала отсортировать
строки, затем бежим по одному файлу и ищем эту строку в другом файле
бинарным поиском)- за (n+m)(log n + log m) действий. Так что,
возможно, если файлы большие - то имеет смысл и самому написать.
--
Денис
Подробная информация о списке рассылки community