중복 줄 제거 | 첫 등장 원문 유지

텍스트브라우저에서 실행(업로드 없음)

ID, URL, 로그, 붙여넣은 목록에서 반복 줄을 제거하고 첫 원문을 유지합니다. 대소문자 일치, trim 비교, 로케일 자연 정렬을 선택할 수 있으며 제한된 브라우저 Worker에서 처리합니다.

다음에 할 작업

관련 작업 흐름을 이어가거나 이 작업 다음에 자주 사용하는 도구를 열어보세요.

이 도구 사용 방법

순서, 공백, 정확한 줄바꿈이 중요할 수 있으면 먼저 원본 사본을 보관합니다.

표시된 한도 안에서 텍스트를 붙여넣거나 로컬 TXT, CSV, TSV, 로그, Markdown 파일을 선택합니다.

대소문자 차이가 실제로 다른 값일 때만 정확한 대소문자 비교를 켭니다.

앞뒤 공백이 줄을 구분하지 않아야 할 때만 trim 비교를 켭니다.

첫 등장 순서를 유지하려면 정렬을 끄고, 사람이 검토할 자연 순서가 필요할 때만 정렬을 켭니다.

실행 후 원본·고유·제거 개수와 비교 옵션·줄바꿈 경고를 확인한 다음 복사하거나 다운로드합니다.

이 도구를 써야 할 때

가져온 ID 목록

일괄 관리 작업이나 스프레드시트 조회 전에 식별자마다 한 줄만 남깁니다.

로그 신호 검토

반복 로그 메시지를 합치면서 각 메시지가 처음 나타난 위치의 순서를 유지합니다.

설정 목록

URL, 호스트명, 허용·차단 목록 조각을 합치고 제거된 행 수를 확인합니다.

연락처와 라벨 정리

대소문자와 앞뒤 공백의 의미를 결정한 뒤 이메일 주소나 라벨 중복을 제거합니다.

검토용 고유 결과

원래 순서에 의미가 없을 때 사람이 검토하기 쉬운 안정적인 자연 정렬 목록을 만듭니다.

흔한 실수

순서에 의미가 있는 데이터를 정렬함

로그, 우선순위 목록, 검토 기록은 순서가 의미를 가질 수 있습니다. 정렬을 끄면 각 값의 첫 등장 순서를 유지합니다.

기계 식별자의 대소문자를 무시함

사람이 읽는 라벨과 달리 식별자는 대소문자를 구분할 수 있습니다. AbC1과 abc1이 다른 키라면 정확한 대소문자 비교를 켜세요.

trim 비교가 결과 공백도 지운다고 생각함

trim 비교는 임시 비교 키만 바꿉니다. 결과에는 첫 번째 줄의 앞뒤 공백까지 원문 그대로 남습니다.

눈에 같은 Unicode를 같은 값으로 가정함

조합된 é와 e 뒤에 결합 문자를 붙인 문자열은 이 도구가 Unicode 정규화를 하지 않으므로 서로 다른 줄로 남습니다.

줄바꿈 결과를 확인하지 않음

LF, CRLF, CR이 섞인 입력은 가장 많이 쓰인 형식으로 출력됩니다. 바이트 단위 가져오기 전에 줄바꿈 알림을 확인하세요.

예시

가져온 ID의 첫 표기 유지

대소문자를 무시하고 정렬을 끄면 첫 표기와 원래 등장 순서를 유지합니다.

입력
API-104
api-104
API-208
API-104
출력
API-104
API-208

trim된 호스트명 비교

앞뒤 공백 무시를 켜면 공백 차이를 합치되 첫 번째 줄 자체는 수정하지 않습니다.

입력
  alpha.example.com  
alpha.example.com
beta.example.com
출력
  alpha.example.com  
beta.example.com

비교, 정렬, 줄바꿈 처리 계약

파서는 LF, CRLF, CR 구분자를 인식하며 마지막 줄바꿈을 가짜 빈 줄로 세지 않습니다.

각 비교 키를 Map에 한 번 저장해 평균 O(n)으로 중복을 찾고 키마다 첫 번째 원문 줄을 남깁니다.

대소문자 무시 모드는 JavaScript 소문자 변환을 사용합니다. trim 모드는 비교 키의 앞뒤 공백만 제거하고 결과 원문은 trim하지 않습니다.

Unicode 정규화는 적용하지 않습니다. 화면상 같아도 코드 포인트 배열이 다른 문자열은 비교 키가 같지 않으면 별도로 남습니다.

자연 정렬은 중복 제거 뒤 활성 언어의 Intl.Collator와 숫자 순서를 사용하며, 같은 정렬 키는 원래 순서를 유지합니다.

입력은 1MiB와 200,000줄로 제한합니다. 모듈 Worker는 3초 뒤 중단되며 분석에는 원문 대신 개수와 옵션만 보냅니다.

자주 묻는 질문

첫 번째 등장 줄을 유지하나요?

네. 정렬을 끄면 각 비교 키의 첫 번째 줄과 그 줄들이 등장한 순서를 유지합니다.

대소문자 차이는 어떻게 처리하나요?

기본은 대소문자를 무시합니다. Alpha와 alpha를 별도 줄로 남겨야 하면 정확한 대소문자 비교를 켜세요.

앞뒤 공백 무시가 원문을 바꾸나요?

임시 비교 키만 trim합니다. 혼합 줄바꿈을 정규화하는 경우를 제외하면 첫 번째로 남긴 줄의 내용은 그대로 반환합니다.

비교 전에 Unicode 정규화를 하나요?

아니요. NFC, NFD, NFKC, NFKD를 적용하지 않으므로 정규화 형식만 다른 문자열은 별도 줄로 남을 수 있습니다.

줄바꿈은 어떻게 처리하나요?

한 가지 LF, CRLF, CR 형식은 마지막 개행까지 유지합니다. 혼합 입력은 가장 많이 쓰인 형식으로 바꾸며 동률이면 먼저 나온 형식을 선택합니다.

고유 줄 정렬은 어떤 방식인가요?

중복 제거 후 페이지 언어와 숫자 순서를 반영한 Intl.Collator로 정렬합니다. 정렬 키가 같으면 원래 순서를 유지하며 바이트 순 정렬은 아닙니다.

처리 한계와 개인정보 보호 방식은 무엇인가요?

최대 1,048,576 UTF-8 바이트와 200,000줄을 받습니다. 3초 제한 Worker에서 실행하며 분석에는 줄 원문이 아닌 개수와 옵션만 기록합니다.

이 도구를 검증한 방법

관리 및 검수 검토일

검증 방법: “이슈 ID의 첫 등장 순서 유지” 확인에는 가이드 원본 데이터와 중복 줄 제거의 “대소문자 규칙 선택” 절차를 사용했습니다. 출력은 문서 결과와 일치해야 했습니다. 기록 전 경계 증거는 “불투명 ID에 대소문자 무시 적용”, “trim 비교가 남긴 줄까지 정리한다고 기대” 항목별로 검토했습니다.

기대 결과: 대소문자를 무시한 비교는 이슈 ID 6행을 첫 등장 순서의 4행으로 줄이고 제거 2건을 보고했으며, 남은 값을 정렬하지 않았습니다.

검증한 작업 가이드 열기

관련 작업 가이드

도구를 열기 전에 자주 쓰는 작업 흐름과 예시를 확인하세요.

관련 도구

관리 중인 다른 작업 흐름을 이어서 사용해 보세요

모든 도구 둘러보기