Kilyan
Цитата:
Писать нет времени, но предложу следущую схему:
Если порядок строк не имеет значения:
- текстовый файл сортируем (sort) и результат пишем во временный файл.
- обрабатываем временный файл командой for, переписывая строки в файл с оригинальным именем. Сравниваем предыдущую строку с текущей, если они совпадают - пропускаем.
Если порядок строк имеет значение:
- текстовый файл сортируем (sort) и результат пишем во временный файл.
- обрабатываем временный файл командой for, сравнивая предыдущую строку с текущей.
- если строки равны, обрабатываем командой for оригинальный файл, переписывая строки в другой временный файл, пропуская все строки, найденные первой командой for, кроме первого совпадения. Переписываем результат (move) поверх оригинала и продолжаем искать дубликаты, для оптимизации пропуская строки, если дубликатов более двух.
Ну, где-то так...
Цитата:
Подскажите, существует ли возможность, не прибегая к сторонним утилитам, пробежаться по текстовому файлу и устранить все дубликаты строк, записав результат в указанный файл!?
Писать нет времени, но предложу следущую схему:
Если порядок строк не имеет значения:
- текстовый файл сортируем (sort) и результат пишем во временный файл.
- обрабатываем временный файл командой for, переписывая строки в файл с оригинальным именем. Сравниваем предыдущую строку с текущей, если они совпадают - пропускаем.
Если порядок строк имеет значение:
- текстовый файл сортируем (sort) и результат пишем во временный файл.
- обрабатываем временный файл командой for, сравнивая предыдущую строку с текущей.
- если строки равны, обрабатываем командой for оригинальный файл, переписывая строки в другой временный файл, пропуская все строки, найденные первой командой for, кроме первого совпадения. Переписываем результат (move) поверх оригинала и продолжаем искать дубликаты, для оптимизации пропуская строки, если дубликатов более двух.
Ну, где-то так...