Jawaban:
Untuk itulah uniqperintah standar.
uniq your-file
Perhatikan bahwa beberapa uniqimplementasi seperti GNU uniqakan memberi Anda yang pertama dari urutan baris yang mengurutkan yang sama (di mana strcoll()mengembalikan 0) sebagai lawan adalah byte-to-byte identik (di mana memcmp()atau strcmp()mengembalikan 0). Untuk memaksa perbandingan byte ke byte terlepas dari uniqimplementasinya, Anda dapat memaksa lokal Cmenggunakan:
LC_ALL=C uniq your-file
Vim dapat mencapai ini dengan baik:
:g/\v^(.*\n)\1/d
Atau jika Anda lebih suka menggunakan vim sebagai alat baris perintah, Anda bisa melakukan ini sebagai
vim file -c "g/\v^(.*\n)\1/d" -c "wq"
Dengan cara ini Anda tidak harus bergulat dengan keluar dari vim nanti;)
Penjelasan:
:g/
Di semua lini yang cocok dengan regex ini ...
\v^(.*\n)\1
Setiap baris diikuti dengan sendirinya ...
/d
jalankan perintah d elete (hapus baris saat ini). The -c "wq"adalah untuk menyimpan perubahan dan keluar.