문서 작업 가이드

가져오기 전에 고유 줄을 자연 순서로 정렬하기

한 줄에 한 항목인 데이터를 중복 제거하고 순서에 의미가 없을 때만 언어·숫자 기준 자연 정렬을 적용한 뒤 개수와 줄바꿈을 검증합니다.

작성 및 검수 게시일: 검토일:

이 작업 흐름을 검증한 방법

검토에서는 수정하지 않은 “가져오기 허용 목록 자연 정렬” 샘플을 중복 줄 제거에 불러왔습니다. “순서에 의미가 없는지 확인”에서 “중복 제거 뒤 정렬 켜기”까지의 흐름을 실행해 화면 또는 다운로드 결과를 예시와 비교했습니다. 별도 조사 항목은 “중복 규칙을 정하기 전에 정렬”, “우선순위가 있는 설정을 가나다순으로 변경”였습니다.

자연·대소문자 무시 정렬은 alpha, Beta, item2, item10 순서를 만들었고, 별도로 선택한 중복 규칙은 반복 beta host만 제거했습니다. Intl.Collator 순서는 데이터베이스나 셸의 바이트 정렬과 다를 수 있으므로 대상 시스템 dry run을 최종 검증 단계로 남겼습니다.

문제 상황

복사한 가져오기 목록에는 빈 줄, 중복, 대소문자 차이, 숫자 접미사, 혼합 줄바꿈이 섞일 수 있습니다. 너무 일찍 정렬하면 첫 등장을 찾기 어렵고, 바이트 순서나 스프레드시트 정렬은 대상 시스템과 다른 결과를 만들 수 있습니다.

이럴 때 사용하세요

  • 호스트명, 태그, 라벨, 이름, ID 목록을 가져오기 전에 예측 가능한 검토 순서가 필요할 때
  • item2와 item10 같은 숫자 접미사를 사람이 읽기 쉬운 순서로 놓아야 할 때
  • 두 내보내기 목록을 비교하기 전에 반복 행을 하나로 줄여야 할 때
  • 대상 시스템에서 시간, 우선순위, 원본 순서가 의미를 갖지 않을 때
  • 언어와 줄바꿈 동작이 명시된 다운로드 가능한 텍스트가 필요할 때

단계

  1. 1단계

    순서에 의미가 없는지 확인

    대상 시스템이 무시한다고 명시하지 않았다면 로그, 마이그레이션 단계, ACL 우선순위, 재생 목록, 순위 목록을 정렬하지 않습니다.

  2. 2단계

    정렬하지 않은 원본 사본 보관

    가져오기 검토에서 문제가 발견됐을 때 첫 등장 위치와 시간 순서를 복원할 수 있도록 원본을 남깁니다.

  3. 3단계

    빈 줄을 의도적으로 정리

    빈 줄이 유효한 값이 아니면 별도로 제거합니다. 중복 제거만 실행하면 빈 비교 값 하나가 결과에 남습니다.

  4. 4단계

    중복 비교 규칙 설정

    화면상 비슷해 보이는지가 아니라 대상 의미를 기준으로 대소문자 정확 비교와 선택적 trim 비교를 결정합니다.

  5. 5단계

    중복 제거 뒤 정렬 켜기

    도구는 중복을 먼저 합친 뒤 현재 언어와 숫자 순서를 반영한 자연 정렬을 적용하므로 item2가 item10보다 먼저 옵니다.

  6. 6단계

    동률과 줄바꿈 확인

    같은 정렬 키는 원래 순서를 유지합니다. 섞인 LF, CRLF, CR은 결과 알림에 표시된 대표 형식으로 통일됩니다.

  7. 7단계

    개수 확인 후 시험 가져오기

    예상 고유 개수와 결과를 비교하고 정확한 텍스트를 다운로드한 뒤 되돌릴 수 있는 미리보기 가져오기로 먼저 시험합니다.

예시

가져오기 허용 목록 자연 정렬

입력

item10.example.com
Beta.example.com
item2.example.com
alpha.example.com
beta.example.com

출력

대소문자 무시, 정렬 켬:
alpha.example.com
Beta.example.com
item2.example.com
item10.example.com

흔한 실수

중복 규칙을 정하기 전에 정렬

대소문자와 공백 정책이 어떤 줄을 남길지 결정합니다. 의도하지 않은 병합을 놓치지 않도록 이 규칙부터 정하세요.

자연 정렬을 바이트 순서로 생각

Intl.Collator는 언어와 숫자 규칙을 사용합니다. 데이터베이스, 셸 sort, 대상 앱은 같은 텍스트를 다르게 정렬할 수 있습니다.

우선순위가 있는 설정을 가나다순으로 변경

방화벽 규칙, 라우팅 규칙, CSS 선언, 마이그레이션 단계는 순서를 바꾸면 동작이 달라질 수 있습니다.

대소문자 변환을 중복 제거로 사용

모든 텍스트의 대소문자를 바꾸면 값을 수정합니다. 대소문자 무시 비교는 첫 원문 표기를 유지하면서 변형만 합칩니다.

대상 시스템 시험 생략

깔끔한 목록도 수신 시스템의 고유성, 인코딩, 정렬 규칙을 어길 수 있습니다. 파괴적인 가져오기 전에 검증하세요.

자주 묻는 질문

결과가 엄격한 가나다·A-Z 바이트 정렬인가요?

아니요. 페이지 언어와 숫자 순서를 반영한 Intl.Collator를 사용하므로 바이너리 재현성보다 사람의 검토에 맞습니다.

왜 item2가 item10보다 먼저 나오나요?

숫자 정렬은 각 숫자를 일반 문자로 비교하지 않고 연속된 숫자 부분을 수로 비교합니다.

남은 두 줄의 정렬 키가 같으면 어떻게 하나요?

원본 등장 순서로 동률을 결정하므로 같은 브라우저 언어와 입력에서는 반복 실행 결과가 안정적입니다.

정렬과 중복 제거 중 무엇을 먼저 하나요?

중복 제거가 먼저입니다. 도구가 자동으로 이 순서를 적용해 정렬은 최종 고유 줄만 재배치합니다.

Git으로 관리하는 파일에도 쓸 수 있나요?

순서가 의미 없으면 가능하지만 혼합 줄바꿈이 통일될 수 있으므로 커밋 전에 줄바꿈 알림과 diff를 확인하세요.

정렬이 대소문자나 공백도 바꾸나요?

아니요. 비교 옵션은 키에만 적용되고 첫 원문 줄이 표시 값으로 남습니다. 정렬은 행 순서만 바꿉니다.