Het verwijderen van dubbele regels is het proces waarbij een tekstblok regel voor regel wordt gescand en alleen de eerste keer dat een unieke regel voorkomt wordt bewaard. Wanneer je dubbele regels online verwijdert, splitst de tool je invoer op newline-tekens, bijhoudt welke regels al zijn gezien via een hash-gebaseerde datastructuur (zoals een Set), en geeft alleen de regels uit die nog niet eerder zijn voorgekomen. De originele regelvolgorde blijft behouden.
Twee regels worden als duplicaten beschouwd wanneer ze exact overeenkomen, teken voor teken. Maar data in de praktijk werkt zelden mee met exacte vergelijking. Voorloopspaties of afsluitende spaties, inconsistente hoofdlettergebruik en onzichtbare tekens zoals tabs of regelteruglooptekens kunnen ervoor zorgen dat regels die identiek lijken toch als uniek worden behandeld. Daarom bieden de meeste deduplicatietools opties voor hoofdletterongevoelige vergelijking en het verwijderen van witruimte vóór de vergelijking.
Deduplicatie is een andere bewerking dan sorteren. Het Unix-commando sort -u sorteert én dedupliceert tegelijk, waardoor de regelvolgorde verandert. Als je de originele volgorde wilt bewaren, heb je een seen-set-aanpak nodig: doorloop regels op volgorde, voeg de genormaliseerde vorm van elke regel toe aan een set, en sla regels over waarvan de sleutel al bestaat. Deze tool gebruikt de seen-set-methode, zodat de eerste keer dat een regel voorkomt op de oorspronkelijke positie blijft staan.
Waarom deze Duplicate Remover gebruiken?
Plak je tekst, kies je vergelijkingsopties en zie het gededupliceerde resultaat direct. Geen opdrachtregelinstellingen, geen regex schrijven, geen bestandsuploads.
⚡
Directe deduplicatie
Resultaten worden bijgewerkt terwijl je typt of plakt. Schakel hoofdlettergevoeligheid en spatietrimming in of uit om te zien hoe verschillende opties de uitvoer beïnvloeden zonder iets opnieuw uit te voeren.
🔒
Privacy-first verwerking
Alle deduplicatie vindt plaats in je browser via JavaScript. Je tekst blijft op je apparaat en wordt nooit naar een server geüpload of ergens gelogd.
🎯
Configureerbare vergelijking
Schakel hoofdletterongevoelige modus in om "Appel" en "appel" als dezelfde regel te behandelen. Zet spatietrimming aan om voorloopspaties en afsluitende spaties te negeren bij de vergelijking.
📋
Geen account vereist
Open de pagina en begin direct met dedupliceren. Geen aanmelding, geen browserextensie, geen desktop-installatie. Werkt op elk apparaat met een moderne browser.
Toepassingen van de Duplicate Line Remover
Frontend-ontwikkeling
Verwijder dubbele CSS-klassen, herhaalde importstatements of dubbele i18n-vertalingssleutels. Duplicaten verwijderen vóór het committen voorkomt opgezwollen bundles en vermindert samenvoegconflicten.
Backend-ontwikkeling
Dedupliceer vermeldingen in requirements.txt, Gemfile of dependency-lijsten in package.json na het samenvoegen van branches. Verwijder herhaalde vermeldingen uit allowlists, denylists of routeringstabellen.
DevOps en infrastructuur
Verwijder dubbele vermeldingen uit .env-bestanden, hostlijsten of Kubernetes ConfigMaps. Dubbele omgevingsvariabelen veroorzaken stille overschrijvingen, dus ze opsporen vóór deployment voorkomt moeilijk te traceren configuratiefouten.
QA en testautomatisering
Verwijder herhaalde testcase-ID's uit testmanifesten of dubbele assertions in gegenereerde testsuites. Dedupliceer foutmeldingen uit loguitvoer om de unieke reeks mislukkingen te zien.
Data-engineering
Verwijder dubbele rijen uit CSV-exports of SQL-queryresultaten die als tekst zijn geplakt. Maak e-maillijsten, gebruikers-ID-lijsten of taglijsten schoon vóór het importeren in een database of pipeline.
Studenten en leerders
Verwijder herhaalde vermeldingen uit woordenlijsten, bibliografieregels of studieaantekeningen. Plak inhoud uit meerdere bronnen en krijg een schone, unieke lijst zonder een spreadsheetprogramma te installeren.
Deduplicatiemethoden vergeleken
Er zijn verschillende benaderingen om dubbele regels te verwijderen, elk met andere afwegingen voor het bewaren van volgorde, geheugengebruik en nauwkeurigheid.
Methode
Hoe het werkt
Uitvoervolgorde
Waar gebruikt
Set
Hash-based, O(1) lookup
Unordered
JavaScript Set, Python set()
Sorted + scan
Sort then skip adjacent
Sorted output
Unix sort -u, C++ std::unique
Seen-set + list
Track seen, preserve order
Original order
This tool, Python dict.fromkeys()
Bloom filter
Probabilistic membership
May miss some
Large-scale pipelines, Redis
SQL DISTINCT
Database-level dedup
Query-dependent
SELECT DISTINCT col FROM table
Hoofdlettergevoeligheid en witruimtebeheer
Twee opties bepalen hoe deze tool beslist of twee regels duplicaten zijn. Begrijpen wanneer je elke optie gebruikt, voorkomt zowel vals-positieven (verschillende regels als duplicaten behandelen) als vals-negatieven (regels die overeen zouden moeten komen, missen).
Hoofdlettergevoelig (standaard: aan)
Wanneer ingeschakeld worden "Appel" en "appel" als verschillende regels behandeld. Schakel dit uit bij het dedupliceren van door gebruikers ingediende data, domeinnamelijsten of tekst waar hoofdlettergebruik inconsistent is maar de betekenis hetzelfde.
Spaties trimmen (standaard: aan)
Wanneer ingeschakeld worden voorloopspaties en afsluitende spaties en tabs verwijderd vóór de vergelijking. Dit vangt regels op die identiek lijken maar verschillen door onzichtbare tekens — gebruikelijk in gekopieerde terminaluitvoer, ingesprongen configuratiebestanden en editor-artefacten.
Codevoorbeelden
Verwijder programmatisch dubbele regels in JavaScript, Python, Go en op de opdrachtregel. Elk voorbeeld toont volgordebehoudende deduplicatie en behandelt hoofdlettergevoeligheid.
JavaScript
const text = `apple
banana
apple
Cherry
banana
cherry`
// Remove exact duplicates, preserve order
const unique = [...new Map(
text.split('\n').map(line => [line, line])
).values()].join('\n')
// → "apple\nbanana\nCherry\ncherry"
// Case-insensitive deduplication
const seen = new Set()
const ciUnique = text.split('\n').filter(line => {
const key = line.toLowerCase()
if (seen.has(key)) return false
seen.add(key)
return true
}).join('\n')
// → "apple\nbanana\nCherry"
// Trim whitespace before comparing
const trimDedup = text.split('\n').filter(line => {
const key = line.trim().toLowerCase()
if (seen.has(key)) return false
seen.add(key)
return true
}).join('\n')
Python
text = """apple
banana
apple
Cherry
banana
cherry"""
lines = text.splitlines()
# Remove duplicates, preserve order (Python 3.7+)
unique = list(dict.fromkeys(lines))
# → ['apple', 'banana', 'Cherry', 'cherry']
# Case-insensitive deduplication
seen = set()
ci_unique = []
for line in lines:
key = line.lower()
if key not in seen:
seen.add(key)
ci_unique.append(line)
# → ['apple', 'banana', 'Cherry']
# With whitespace trimming
seen = set()
trimmed = []
for line in lines:
key = line.strip().lower()
if key not in seen:
seen.add(key)
trimmed.append(line)
Go
package main
import (
"fmt"
"strings"
)
func removeDuplicates(text string) string {
lines := strings.Split(text, "\n")
seen := make(map[string]bool)
result := make([]string, 0, len(lines))
for _, line := range lines {
if !seen[line] {
seen[line] = true
result = append(result, line)
}
}
return strings.Join(result, "\n")
}
func main() {
text := "apple\nbanana\napple\ncherry\nbanana"
fmt.Println(removeDuplicates(text))
// → apple\nbanana\ncherry
}
CLI (bash)
# Remove duplicates (sorts output — does not preserve order)
sort -u file.txt
# Remove duplicates while preserving original order
awk '!seen[$0]++' file.txt
# Case-insensitive dedup, preserve order
awk 'BEGIN{IGNORECASE=1} !seen[tolower($0)]++' file.txt
# Trim whitespace then dedup
sed 's/^[[:space:]]*//;s/[[:space:]]*$//' file.txt | awk '!seen[$0]++'
# Count duplicates before removing
sort file.txt | uniq -c | sort -rn
Veelgestelde vragen
Wat is het verschil tussen duplicaten verwijderen en sort -u gebruiken?
Het commando sort -u sorteert eerst alle regels alfabetisch en verwijdert daarna aangrenzende duplicaten. Dit verandert de originele regelvolgorde. De seen-set-aanpak, die deze tool gebruikt, doorloopt regels op volgorde en slaat elke regel over die al is gezien, waardoor de originele volgorde bewaard blijft. Gebruik sort -u als je zowel gesorteerde als unieke uitvoer wilt. Gebruik een seen-set-aanpak als volgorde belangrijk is.
Wordt mijn tekst naar een server verzonden wanneer ik duplicaten verwijder?
Nee. Alle verwerking vindt plaats in je browser via JavaScript. De tekst verlaat je apparaat nooit. Je kunt dit verifiëren door het tabblad Netwerk in DevTools te openen en te bevestigen dat er geen verzoeken worden gedaan wanneer je tekst plakt en opties wijzigt.
Hoeveel regels kan deze tool verwerken?
De tool werkt goed met tienduizenden regels. JavaScript's Set heeft O(1) gemiddelde opzoektijd, zodat het dedupliceren van 100.000 regels minder dan 100 milliseconden duurt op moderne hardware. Voor bestanden van meerdere megabytes gebruik je de one-liner awk '!seen[$0]++' op de opdrachtregel, die het bestand doorloopt zonder het volledig in het geheugen te laden.
Hoe werkt hoofdletterongevoelige deduplicatie?
Wanneer hoofdlettergevoeligheid is uitgeschakeld, wordt elke regel vóór de controle tegen de set van geziene regels omgezet naar kleine letters. De versie met originele hoofdletters van de eerste keer wordt bewaard in de uitvoer. Als je invoer "Appel" op regel 1 en "appel" op regel 5 heeft, wordt "Appel" bewaard en "appel" verwijderd.
Kan ik tegelijk duplicaten verwijderen en sorteren?
Deze tool verwijdert duplicaten zonder de regelvolgorde te wijzigen. Voor gesorteerde, unieke uitvoer gebruik je eerst de Line Sorter in dezelfde categorie om je tekst te sorteren, en plak je het gesorteerde resultaat hier om eventuele resterende duplicaten te verwijderen. Je kunt ook sort -u op de opdrachtregel gebruiken voor een oplossing in één stap.
Wat gebeurt er met lege regels en regels die alleen witruimte bevatten?
Lege regels worden behandeld als elke andere regel. Als je tekst drie lege regels heeft, wordt alleen de eerste bewaard. Wanneer spatietrimming is ingeschakeld, worden regels die alleen spaties of tabs bevatten genormaliseerd naar lege strings vóór de vergelijking, zodat ze allemaal als duplicaten van de eerste lege of witruimte-regel worden behandeld.
Hoe verwijder ik duplicaten uit een CSV-bestand op basis van een specifieke kolom?
Deze tool vergelijkt volledige regels, niet afzonderlijke kolommen. Om een CSV te dedupliceren op een specifieke kolom gebruik je awk met een veldseparator: awk -F',' '!seen[$2]++' bestand.csv verwijdert rijen met dubbele waarden in de tweede kolom. In Python gebruik je pandas: df.drop_duplicates(subset=['kolomnaam']). Voor SQL-data gebruik je SELECT DISTINCT of GROUP BY op de doelkolom.