텍스트에서 중복 줄 제거
텍스트에서 중복 줄을 제거하는 무료 온라인 도구. 대소문자·공백 무시, 첫/마지막 항목 유지, 제거된 중복 수 표시. 100% 브라우저 실행. 가입 불필요.
중복 줄 제거란 무엇인가요?
중복 줄 제거 — 디듀플리케이션, 또는 "dedupe" — 는 개행으로 구분된 텍스트 블록을 훑어보고 각 고유 줄의 사본을 하나만 유지하는 것을 의미합니다. 데이터를 다루는 누구나 마주치는 가장 흔한 정리 작업 중 하나입니다: 반복이 쌓인 메일링 리스트 합치기, 로그를 고유 메시지로 줄이기, 스프레드시트 열에서 고유 값 찾기, 여러 목록을 하나의 깔끔한 집합으로 병합하기.
흥미로운 질문은 무엇을 중복으로 보는가입니다. 바이트 단위 비교가 엄격한 답이지만, 실제 데이터는 더 지저분합니다. 두 줄이 동일해 보여도 후행 공백으로 다르거나 대소문자로만 다를 수 있습니다 — `Error` 대 `error`. 이 도구는 여러분이 결정하게 합니다: 기본적으로 대소문자를 무시하며, 공백 무시 비교를 켜서 줄이 트리밍되고 소문자화된 형태로 매칭되게 할 수 있습니다. 그렇게 하면 정확한 인코딩이 아니라 줄의 의미로 중복을 제거하는데, 이것이 거의 항상 실제로 원하는 것입니다.
또 다른 결정은 어느 사본을 유지할지입니다. 첫 출현을 유지하면 원래 순서가 보존되며 이것이 기본값입니다. 마지막을 유지하는 것은 이후 항목이 이전 것을 대체할 때 유용합니다. 어느 쪽이든 결과는 결정적이고 실시간 통계 배지가 몇 개의 중복이 제거되었는지 정확히 알려 주므로, 도구를 맹목적으로 신뢰할 필요가 없습니다.
중복 제거는 정렬 및 그 밖의 정리와 자연스럽게 짝을 이룹니다. 이 도구는 그것들을 하나의 패널에 담습니다: 중복 제거 후 선택적으로 정렬, 공백 트리밍, 빈 줄 제거, 역순, 또는 줄 번호 추가. 정렬이 주된 작업일 때는 같은 엔진을 공유하는 자매 도구 텍스트 줄 정렬을 사용하십시오. 텍스트의 줄과 단어를 세려면 단어 카운터를, 목록의 두 버전 사이에 무엇이 바뀌었는지 보려면 텍스트 비교를, 중복 제거 전에 대소문자를 정규화하려면 대소문자 변환기를 사용하십시오.
모든 것이 업로드 없이 브라우저 안에서 완전히 실행되므로, 기밀 목록을 중복 제거하는 것은 로컬에서 편집하는 것만큼 정확히 프라이빗합니다. 붙여넣으면 고유 결과가 1초 만에 복사할 준비가 됩니다.
Input: alice@example.com bob@example.com alice@example.com ALICE@example.com Exact dedupe (case-sensitive): alice@example.com bob@example.com ALICE@example.com Case-insensitive dedupe (default): alice@example.com bob@example.com ← ALICE collapsed into alice
주요 기능
순서 보존 중복 제거
기본적으로 각 고유 줄을 원래 순서로 한 번 유지합니다 — 터미널 없이 `awk '!seen[$0]++'`와 같은 동작입니다. 목록은 붙여넣은 순서 그대로, 반복만 없이 유지됩니다.
첫 출현 또는 마지막 출현 유지
각 줄의 첫 출현이 살아남을지 마지막 출현이 살아남을지 고르십시오. 처음 유지는 일반 정리를 위해 순서를 보존합니다. 마지막 유지는 설정이나 환경 값처럼 이후 항목이 이전 것을 덮어쓸 때 이상적입니다.
대소문자 무시 매칭
기본적으로 `Error`, `error`, `ERROR`가 한 줄로 합쳐집니다 — 대부분의 목록에 자연스러운 선택입니다. 대소문자가 의미가 있어 중복이 정확히 일치해야 할 때 대소문자 구분을 켜십시오.
공백 무시 매칭
앞뒤 공백 무시는 후행 공백이나 탭으로만 다른 보이지 않는 중복을 잡아냅니다 — 스프레드시트와 PDF에서 붙여넣은 데이터에서 "동일한" 줄이 중복 제거되지 않는 가장 큰 이유입니다.
실시간 중복 카운트
입력하는 동안 통계 배지가 `12줄 → 9줄 · 중복 3개 제거`를 보여 줍니다. 몇 개의 반복이 합쳐졌는지 항상 정확히 알 수 있습니다 — 도구가 실제로 무언가를 했는지 추측할 필요가 없습니다.
중복 제거 + 정렬을 한 번에
정렬 순서를 켜서 한 단계로 고유하며 알파벳순(또는 자연 정렬, 또는 길이순)으로 정렬된 목록을 얻으십시오. 중복 제거가 먼저 실행된 다음 정렬되므로 아무것도 손실되지 않고 출력이 깔끔하면서도 정렬됩니다.
정리 토글
같은 패널이 공백 트리밍, 빈 줄 제거, 순서 역순, 결과 번호 매기기도 합니다. 중복 제거 위에 이 중 어느 것이든 쌓으면, 혼란스럽게 붙여넣은 목록이 한곳에서 깔끔하고 고유하며 붙여넣을 준비가 된 출력이 됩니다 — 스크립트가 필요 없습니다.
100% 브라우저 기반 프라이버시
텍스트는 페이지를 떠나지 않습니다 — 업로드도, 기록도, 분석도 없습니다. 이메일 목록, 접근 로그, 기밀 데이터에 안전합니다. 네트워크 탭에서 직접 확인하십시오: 중복 제거는 요청을 0건 발생시킵니다.
중복 줄 제거 예시
정확한 중복 제거
apple banana apple cherry banana
apple banana cherry
기본 동작: 각 줄이 첫 출현에서 한 번 유지되고 이후 정확한 반복은 제거됩니다. 원래 순서가 보존됩니다. 통계 배지가 `5줄 → 3줄 · 중복 2개 제거`로 표시합니다.
대소문자 무시
Error error ERROR Warning
Error Warning
대소문자 구분을 꺼 두면(기본값) `Error`, `error`, `ERROR`가 같은 줄로 취급되어 첫 번째만 유지됩니다. 대소문자 구분을 켜면 셋 다 별개 항목으로 유지됩니다.
앞뒤 공백 무시
apple apple banana banana
apple banana
앞뒤 공백 무시를 켜서 `apple`과 ` apple `가 동등하게 비교되게 하십시오. 이는 후행 공백이 슬며시 들어오는 스프레드시트, PDF, 터미널에서 복사한 데이터를 괴롭히는 보이지 않는 중복을 잡아냅니다.
마지막 출현 유지
v1 v2 v1 v3
v2 v1 v3
유지할 항목을 마지막으로 전환하면 각 줄의 마지막 출현이 그 마지막 위치에서 살아남습니다. 여기서는 두 번째 `v1`이 유지되고 첫 번째가 제거됩니다. 환경 변수나 설정 재정의처럼 이후 항목이 이전 것을 덮어쓸 때 유용합니다.
중복 제거와 정렬을 함께
dog cat dog bird cat
bird cat dog
오름차순 정렬을 켜서 한 단계로 깔끔하고 고유하며 알파벳순으로 정렬된 목록을 얻으십시오. 중복 제거가 먼저 실행된 다음 정렬되므로 출력이 고유하면서도 정렬됩니다 — 지저분하게 붙여넣은 열을 깔끔한 집합으로 바꾸는 데 이상적입니다.
빈 줄과 중복 제거
alpha beta alpha gamma
alpha beta gamma
중복 제거와 함께 빈 줄 제거를 켜서 빈 줄과 반복을 한 번에 제거하십시오. 통계 배지가 둘을 구분합니다: `6줄 → 3줄 · 중복 1개 제거 · 빈 줄 2개 제거`.
중복이 몇 개인지 세기
a b a a c b
a b c
개수만 궁금하더라도 중복 제거가 답을 줍니다: 통계 배지가 `6줄 → 3줄 · 중복 3개 제거`를 보여 줍니다. 목록에 얼마나 많은 반복이 숨어 있는지 수동으로 세지 않고 파악하는 빠른 방법입니다.
두 목록을 고유 항목으로 병합
red green blue green yellow red
red green blue yellow
두 목록을 연달아 붙여넣고 중복을 제거해 합집합을 얻으십시오 — 모든 고유 줄, 반복 없음, 처음 본 순서 보존. 스프레드시트 수식 없이 메일링 리스트, 태그 집합, ID 목록을 결합하는 가장 빠른 방법입니다.
중복 줄 제거 방법
- 1
줄을 붙여넣거나 입력하기
입력 상자에 텍스트를 넣으십시오. 각 개행은 별도의 줄입니다. 입력하는 즉시 중복이 제거됩니다 — 제출 버튼이 없습니다. 후행 개행은 무시되므로 여분의 빈 줄로 계산되지 않습니다.
- 2
무엇을 중복으로 볼지 고르기
대소문자 구분을 꺼서 `Foo`와 `foo`를 같은 것으로 취급하거나, 켜서 별개로 유지하십시오. 앞뒤 공백 무시를 켜서 불필요한 공백으로만 다른 줄을 잡아내십시오.
- 3
어느 출현을 유지할지 고르기
유지할 항목은 기본이 처음으로, 원래 순서를 보존합니다. 각 줄의 마지막 출현이 이겨야 할 때 마지막으로 전환하십시오 — 이후 항목이 이전 것을 대체하는 재정의에 유용합니다.
- 4
필요하면 정렬이나 정리 추가하기
정렬 순서를 켜서 고유 결과를 알파벳순으로 정렬하거나, 빈 줄 제거와 각 줄 트리밍을 켜서 같은 과정에서 목록을 정돈하십시오. 통계 배지가 각 토글의 효과를 보여 줍니다.
- 5
고유 결과 복사하기
복사를 클릭해 중복 제거된 출력을 클립보드에 넣으십시오. 초기화로 두 상자를 모두 지우거나, 샘플로 예시 목록을 로드하십시오. 과정의 어느 시점에도 아무것도 업로드되지 않습니다.
흔한 중복 제거 실수
중복을 숨기는 공백
동일해 보이지만 후행 공백이나 탭으로 다른 줄은 정확한 중복이 아니므로 살아남습니다. 앞뒤 공백 무시를 켜서 트리밍된 형태로 비교하십시오. 특히 스프레드시트와 PDF 데이터에서 가장 흔한 중복 제거의 놀라움입니다.
정확 일치 ("apple " ≠ "apple"):
apple
apple ← 끝 공백, 고유로 유지됨
banana 공백 무시: apple banana
고유로 취급되는 대소문자 차이
대소문자 구분이 켜져 있으면 `Error`와 `error`가 다른 줄이라 둘 다 살아남습니다. 같은 것으로 의도했다면 대소문자 구분을 끄십시오(기본값). 반대로, 대소문자가 의미 있을 때 끄면 따로 두고 싶던 줄이 병합될 수 있습니다.
대소문자 구분 켜짐: Error error ERROR ← 셋 다 유지됨
대소문자 무시 (기본값): Error ← 나머지는 합쳐짐
비인접 중복이 남을 것이라는 기대
명령줄 `uniq`와 달리 이 도구는 인접한 것뿐만 아니라 목록 어디에 있든 중복을 제거합니다 — 그래서 먼저 정렬할 필요가 없습니다. 실제로 연속된 반복만 합치고 싶었다면 이 도구는 맞지 않습니다. 대신 데이터를 정렬하거나 재구성하십시오.
uniq 동작 가정 (인접만): a b a ← 남을 것으로 기대하지만 제거됨
전체 중복 제거 (본 도구): a b ← 뒤의 'a'는 어디에 나타나든 제거됨
빈 줄 제거와 중복 제거의 혼동
중복 제거는 반복된 빈 줄을 합치지만 하나는 유지합니다. 모든 빈 줄을 삭제하지는 않습니다. 모든 빈 줄을 제거하려면 빈 줄 제거를 켜십시오. 통계 배지가 두 개수를 별개로 표시하므로 빈 줄이 제거되었는지 진짜 중복이 제거되었는지 알 수 있습니다.
중복 제거만 (빈 줄 하나 유지): alpha (빈 줄) beta
중복 제거 + 빈 줄 제거: alpha beta
중복 줄 제거: 사용 사례
- 이메일·연락처 목록 정리
- 반복이 쌓인 내보낸 메일링 리스트를 붙여넣어 고유 집합을 돌려받으십시오. 대소문자·공백 무시 매칭을 켜서 `Bob@x.com`, `bob@x.com`, `bob@x.com `가 모두 하나의 주소로 합쳐지게 하십시오.
- 로그를 고유 메시지로 줄이기
- 시끄러운 로그를 중복 제거해 반복 없이 고유한 오류나 이벤트 줄을 보십시오. 각 메시지의 가장 최근 출현이 첫 번째보다 더 중요할 때 마지막 유지가 편리합니다.
- 열에서 고유 값 찾기
- CSV나 스프레드시트에서 열을 복사해 중복 제거하면 출력이 고유 값의 집합입니다 — 중복이 몇 개 있었는지 개수와 함께이며, 이는 빠른 카디널리티 확인 역할도 합니다. 또한 스프레드시트 수식 없이 붙여넣은 열에서 중복 줄을 찾고 중복 행을 제거할 수 있습니다.
- 반복 없이 목록 병합
- 둘 이상의 목록을 연달아 붙여넣고 중복 제거해 합집합을 얻으십시오: 모든 고유 줄, 반복 없음, 처음 본 순서. 태그, ID, 이름의 일회성 병합에는 스프레드시트 수식보다 빠릅니다.
- 보안 워드리스트 중복 제거
- 패스워드 워드리스트, 서브도메인 목록, 퍼징 사전을 완전히 오프라인으로 결합하고 정리하십시오. 모든 동작이 로컬이므로 기밀 보안 데이터가 여러분의 컴퓨터에 머물며 외부 서비스로 전송되지 않습니다.
- import나 의존성 목록 정돈
- 복사·붙여넣기 중에 끼어든 중복 import 문, 패키지 이름, 의존성 항목을 제거하십시오. 정렬 순서를 더해 이후 diff를 작게 유지하는 정규적이고 고유한 목록을 만드십시오.
- 분석을 위한 데이터 준비
- 데이터를 세거나, 차트로 만들거나, 로드하기 전에 반복을 제거해 중복이 결과를 왜곡하지 않게 하십시오. 단어 카운터와 짝지어 정리된 목록을 측정하거나, 텍스트 비교로 다른 버전과 비교하십시오.
- SEO를 위한 키워드 목록 중복 제거
- 키워드 조사 내보내기는 유사 중복으로 가득합니다. 여기서 정확한 반복을 제거하고, 선택적으로 소문자화하고 트리밍해, 그룹화하거나 페이지에 매핑하기 전에 깔끔하고 고유한 키워드 집합을 얻으십시오.
중복 제거 작동 방식
- 해시 집합 중복 제거
- 줄은 각 줄의 비교 형태를 키로 하는 해시 집합(JavaScript `Set` 또는 `Map`)으로 중복 제거되어, 큰 목록에서도 선형 시간 성능을 제공합니다. 각 줄의 키는 한 번 계산되어 상수 시간에 조회됩니다.
- 비교 키 정규화
- 매칭에 사용되는 키는 줄에서 파생됩니다: 앞뒤 공백 무시가 켜져 있으면 먼저 트리밍되고, 대소문자 구분이 꺼져 있으면 소문자화됩니다. 출력에 나타나는 것은 정규화된 키가 아니라 원래 줄이므로, 살아남은 줄의 대소문자와 간격이 보존됩니다.
- 처음 유지 대 마지막 유지
- 처음 유지는 키가 처음 보일 때 줄을 결과에 넣고 이후 반복을 건너뜁니다. 마지막 유지는 각 키의 마지막 인덱스를 계산하고 그 인덱스의 줄만 유지하므로, 살아남은 사본이 그 마지막 위치에 놓이는 한편 전체 순서는 여전히 입력을 따릅니다.
- 줄 분할 (CRLF / LF / CR)
- 줄은 어떤 개행 관례로든 구분됩니다 — `\r\n`(Windows), `\n`(Unix), `\r`(클래식 Mac) — 그래서 섞이거나 붙여넣은 입력이 그대로 동작합니다. 처리 전에 하나의 후행 개행이 제거되므로, 줄바꿈으로 끝나는 파일이 맨 아래에 유령 같은 빈 중복을 등록하지 않습니다.
- 결정적 파이프라인 순서
- 파이프라인은 정해진 순서로 실행됩니다 — 공백 트리밍, 그다음 빈 줄 제거, 그다음 중복 제거, 그다음 정렬 또는 섞기, 그다음 역순, 그다음 줄 번호 매기기. 중복이 선택적 정렬 단계 전에 합쳐지므로, 정렬 순서를 켜면 고유 줄을 하나도 버리지 않고 고유 집합을 재정렬합니다.
- 중복과 빈 줄 개수 분리
- 통계 배지는 제거된 중복과 제거된 빈 줄을 독립적으로 추적하며, 각 단계 전후의 줄 수 차이로 계산됩니다. 이를 통해 예를 들어 단일 합산 숫자 대신 `중복 1개 제거 · 빈 줄 2개 제거`를 볼 수 있습니다.
- 브라우저 내, 워커 불필요
- 모든 중복 제거는 서버 왕복 없이 브라우저의 메인 스레드에서 실행됩니다. 일반적인 목록은 즉시 완료됩니다. 알고리즘이 선형이고 집합 기반이므로, 성능이 페이지를 멈추지 않고 매우 큰 입력으로 우아하게 확장됩니다.
중복 제거 모범 사례
- 숨은 중복을 잡으려면 공백을 트리밍하라
- 중복이 살아남는 가장 흔한 이유는 보이지 않는 후행 공백입니다. 스프레드시트, PDF, 터미널에서 붙여넣은 데이터를 중복 제거할 때 앞뒤 공백 무시를 켜서 줄이 트리밍된 형태로 비교되게 하십시오. 제거된 중복 개수가 예상보다 적다면 보통 공백이 이유입니다.
- 대소문자 구분을 신중히 결정하라
- 이메일, 태그, 사람이 읽는 목록에는 대소문자 구분을 꺼 두어 `Foo`와 `foo`가 합쳐지게 하십시오. `A1B2`와 `a1b2`가 진정으로 다른 값인 식별자나 해시처럼 대소문자가 중요한 데이터에만 켜십시오. 잘못 선택하면 어떤 줄이 살아남는지가 조용히 바뀝니다.
- 재정의 의미론에는 마지막 유지를 사용하라
- 이후 항목이 이겨야 할 때 — 설정 재정의, 환경 변수, 최신 상태가 중요한 로그 — 유지할 항목을 마지막으로 전환하십시오. 순서가 위에서부터 보존되어야 하는 일반 목록 정리에는 기본값인 처음을 유지하십시오.
- 세거나 분석하기 전에 중복을 제거하라
- 반복은 개수, 차트, 집계를 왜곡합니다. 먼저 중복을 제거한 다음 측정하십시오. 통계 배지는 빠른 카디널리티 확인 역할도 합니다: 입력 줄과 출력 줄의 차이가 데이터가 얼마나 많은 반복을 담고 있었는지 알려 줍니다.
- 정규 목록을 위해 중복 제거 후 정렬하라
- 안정적이고 비교 가능한 목록이 필요하다면 — 설정 파일, 매니페스트, diff를 위해 — 중복 제거와 함께 정렬 순서를 켜십시오. 고유하고 정렬된 목록은 최소한의 diff를 만들며 텍스트 비교로 다른 버전과 비교하기 쉽습니다.
- 복사 전에 실시간 카운트로 확인하라
- 복사하기 전에 통계 배지를 흘긋 보십시오. `12줄 → 9줄 · 중복 3개 제거`는 도구가 의도한 대로 했음을 확인해 줍니다. 숫자가 이상해 보이면 — 반복을 예상했는데 0개 제거 — 대소문자와 공백 설정을 다시 확인하십시오.
자주 묻는 질문
이 도구는 무엇을 하나요?
중복의 첫 출현을 유지하나요, 마지막 출현을 유지하나요?
제 텍스트가 어딘가에 업로드되나요?
대소문자를 무시하면서 중복을 어떻게 제거하나요?
시각적으로 동일한 줄이 왜 중복 제거되지 않나요?
중복 제거가 제 줄의 순서를 바꾸나요?
중복 제거와 정렬을 동시에 할 수 있나요?
빈 줄은 어떻게 되나요?
목록 크기에 제한이 있나요?
명령줄(sort -u, awk, uniq)과 비교하면 어떤가요?
Excel이나 Notepad++에서 중복 줄을 제거하는 것보다 어떻게 더 빠른가요?
이 도구로 열의 고유 값을 찾을 수 있나요?
관련 도구
모든 도구 보기 →대소문자 변환기 — UPPERCASE, lowercase, camelCase
텍스트 도구
UPPERCASE, lowercase, camelCase, snake_case, kebab-case 등 15가지 형식으로 텍스트를 즉시 변환합니다. 무료 온라인 도구, 가입 불필요, 브라우저에서 동작.
Lorem Ipsum 생성기 — 무료 자리 표시자 텍스트 도구
텍스트 도구
무료 온라인 Lorem Ipsum 생성기. 자리 표시자·더미 텍스트를 브라우저에서 즉시 생성해 일반 텍스트, HTML, Markdown, JSON으로 복사·다운로드하세요. 가입 불필요.
무료 정규식 테스터 — 패턴을 웹에서 디버그하고 일치 확인하기
텍스트 도구
정규 표현식을 모든 텍스트에 즉시 온라인 테스트합니다. 일치 강조, 캡처 그룹, 치환 미리보기, 분할, 설명 지원. JavaScript 정규식, 100% 비공개, 가입 없음.
URL 슬러그 생성기 — 어떤 텍스트든 슬러그로
텍스트 도구
어떤 제목이든 SEO 친화적인 깔끔한 URL 슬러그로 즉시 변환합니다. 악센트와 키릴 문자를 음역하거나 유니코드 글자를 유지하세요. 100% 비공개, 브라우저에서 동작.
텍스트 줄 정렬 — 알파벳순 & 자연 정렬
텍스트 도구
텍스트 줄을 알파벳순·자연 정렬(숫자 인식)·길이순으로 정렬하는 무료 온라인 도구. 100% 브라우저 실행, 중복 제거·역순·정리 지원. 가입 불필요.
텍스트 비교 및 차이 분석
텍스트 도구
두 텍스트를 브라우저에서 즉시 비교. 좌우 대조 뷰, 인라인 단어 단위 하이라이트, 통합 diff 출력, 대소문자/공백/빈 줄 무시. 100% 브라우저 처리, 업로드 없음.