Langsung ke konten

Hapus baris duplikat

Rapikan daftar: hapus yang berulang, urutkan dengan benar, buang baris kosong. Alat ini memberi tahu baris mana yang duplikat dan berapa kali, alih-alih diam-diam memperpendek daftar Anda.

  • Tidak pernah disimpan
  • Tanpa antre, tanpa menunggu
  • Tanpa daftar, tanpa watermark
Urutkan
Rapikan
Hasil

Hasil akan muncul di sini.

Cara kerjanya

1

Tempel daftar Anda

Email, URL, kode produk, apa saja, satu per baris. Atau letakkan file teks.

2

Tentukan arti “sama”

Abaikan spasi di akhir, abaikan huruf besar/kecil, pertahankan salinan pertama atau terakhir — atau buang setiap baris yang punya duplikat sama sekali.

3

Urutkan dan rapikan

Urutkan secara alami, balik, acak, beri nomor baris, atau buang baris kosong — lalu salin hasilnya.

Apa yang terjadi pada baris yang dipertahankan

Ada dua jenis penanganan spasi di halaman ini, dan sebaiknya jangan dicampuradukkan. Pemangkasan untuk perbandingan membentuk kunci dan tidak pernah mengedit baris Anda — salinan yang tersisa mempertahankan spasi aslinya persis. Opsi Rapikan melakukan kebalikannya: menghapus indentasi, meringkas deretan spasi dan tab, dan memangkas ujung baris adalah pengeditan sungguhan, dan dilakukan sebelum duplikat dihapus, jadi mengaktifkan salah satunya diam-diam mengubah apa yang dianggap duplikat sekaligus tampilan barisnya.

Baris kosong dibandingkan seperti baris lainnya, artinya setiap baris kosong setelah yang pertama ikut hilang bersama duplikat lainnya — daftar yang berisi jarak antarparagraf kembali dengan satu baris kosong di posisi baris kosong pertama. Dan laporan tentang yang berulang menampilkan kuncinya, bukan baris Anda: sudah dipangkas, dan diubah ke huruf kecil jika Anda meminta huruf besar/kecil diabaikan. Entri yang muncul di daftar Anda sebagai Smith dan SMITH karenanya dilaporkan sekali, dalam huruf kecil, dengan hitungan dua. Daftar itu dibatasi pada lima puluh entri yang paling sering muncul.

Apa pun inputnya, outputnya disambung hanya dengan line feed, jadi daftar yang ditempel dari file Windows kehilangan carriage return-nya — biasanya memang itu yang Anda inginkan, dan perlu diketahui jika Anda menempel hasilnya kembali ke sesuatu yang memedulikannya. Satu efek samping lagi: mengaktifkan “Abaikan huruf besar/kecil” mengubah pengurutan sekaligus perbandingan, dan pengurutan kemudian juga tidak lagi membedakan huruf beraksen dari huruf polos, sehingga resume dan résumé muncul berdampingan, bukan terpisah.

Jika Anda butuh hal lain

Jika daftar sebenarnya adalah tabel, perbandingan baris adalah alat yang salah bentuk. CSV di mana “duplikat” berarti dua baris yang sama pada satu kolom bukanlah soal string, dan memperlakukannya demikian akan melewatkan duplikat atau menghapus baris yang hanya tampak mirip. Fitur Hapus Duplikat bawaan spreadsheet melakukannya dengan benar untuk file yang sudah Anda buka, dan mlr uniq -g melakukannya di command line dengan menyebut field penentunya, berapa pun ukurannya.

Untuk daftar yang terlalu besar untuk sebuah tab, atau yang akan Anda bersihkan lagi minggu depan, command line cukup dengan satu ekspresi yang berjalan secara streaming: awk '!seen[$0]++' mempertahankan salinan pertama dan urutan asli, persis seperti yang dilakukan halaman ini secara default, pada file yang lebih besar dari memori Anda. Ekspresi itu tidak memangkas spasi, tidak menyamakan huruf besar/kecil, dan tidak melaporkan apa yang berulang — itulah kompromi yang harus diterima, dan untuk file berisi sepuluh juta baris, itu kompromi yang tepat.

Pertanyaan yang sering diajukan

Apakah daftar saya disimpan di suatu tempat?

Tidak. Tidak ada yang disimpan dan tidak ada permintaan yang dikirim. Anda bisa memutus koneksi internet setelah halaman dimuat dan alat ini tetap berfungsi.

Mengapa masih ada duplikat setelah dihapus?

Hampir selalu karena spasi di akhir baris. Dua baris yang diakhiri jumlah spasi berbeda terlihat identik di layar padahal tidak, sehingga perbandingan persis mempertahankan keduanya — dan Anda menyimpulkan alatnya rusak. Karena itu, pemangkasan sebelum membandingkan AKTIF secara default di sini. Yang penting, ini hanya memengaruhi PERBANDINGAN: baris yang tersisa tetap memakai teks aslinya, karena diam-diam mengedit baris Anda bukanlah arti “hapus duplikat”.

Salinan mana yang dipertahankan?

Secara default yang pertama, dan urutan sisanya tidak diubah — itu penting jika daftar sudah tersusun dalam urutan yang bermakna. Anda bisa mempertahankan yang terakhir, atau membuang setiap baris yang punya duplikat sehingga hanya tersisa baris yang muncul tepat satu kali. Opsi terakhir itulah cara menemukan entri yang hanya ada satu di sebuah daftar.

Mengapa pengurutan menaruh item10 sebelum item2?

Itu pengurutan abjad biasa, di mana “1” datang sebelum “2” dan sisa angkanya tidak pernah diperiksa. Aktifkan urutan alami dan deretan angka dibandingkan sebagai bilangan, sehingga item2 datang sebelum item10 — urutan yang diharapkan orang. Teks beraksen juga ditangani dengan benar: perbandingan polos mengurutkan “Zürich” setelah “Zyzzyva”, karena yang dibandingkan adalah angka di baliknya, bukan hurufnya.

Apakah alat ini memberi tahu apa yang dihapus?

Ya — baris yang muncul lebih dari sekali dicantumkan beserta jumlahnya, yang paling sering lebih dulu. Mengetahui entri MANA yang muncul empat kali biasanya lebih berguna daripada mengetahui bahwa tiga baris hilang.

Apakah pengacakannya benar-benar acak?

Ya. Alat ini memakai pengacakan Fisher-Yates dengan sumber acak kriptografis milik browser. Jalan pintas yang umum — mengurutkan dengan perbandingan acak — sama sekali bukan pengacakan: algoritma pengurutan mengasumsikan perbandingan yang konsisten, dan dengan perbandingan acak hasilnya terukur condong ke urutan aslinya. Jika Anda mengundi pemenang dari sebuah daftar, perbedaan itu penting.

Apakah ada batas ukuran?

Batasnya memori yang tersedia, bukan ukuran tetap. Daftar berisi ratusan ribu baris tidak masalah.

Perlu diketahui: Pengurutan memakai aturan bahasa milik browser Anda, sehingga huruf beraksen dan alfabet yang berbeda diurutkan seperti yang diharapkan pembaca, bukan menurut nilai byte. Artinya urutannya juga bisa sedikit berbeda antar-browser. Daftar yang sangat besar disimpan utuh di memori.

Pasang alat ini di situs Anda

Gratis untuk blog, halaman kelas, atau artikel bantuan apa pun. Tempel satu potong kode dan pengunjung Anda bisa langsung memakainya di halaman Anda.