Ответы:
Вот для чего uniqстандартная команда.
uniq your-file
Обратите внимание, что некоторые uniqреализации, такие как GNU uniq, дадут вам первую последовательность строк, которые сортируют одинаково (где strcoll()возвращает 0), в отличие от байтовых байтов (где memcmp()или strcmp()возвращает 0). Чтобы принудительно сравнить байты с байтами, независимо от uniqреализации, вы можете принудительно указать локаль с Cпомощью:
LC_ALL=C uniq your-file
Vim может достичь этого красиво:
:g/\v^(.*\n)\1/d
Или, если вы предпочитаете использовать vim в качестве инструмента командной строки, вы можете сделать это как
vim file -c "g/\v^(.*\n)\1/d" -c "wq"
Таким образом, вам не придется бороться с выходом из vim позже;)
Объяснение:
:g/
На всех строках, которые соответствуют этому регулярному выражению ...
\v^(.*\n)\1
Любая строка, за которой следует сама ...
/d
выполните команду d elete (удалите текущую строку). -c "wq"Это , чтобы сохранить изменения и выйти.