chapter-10이 chapter-2보다 먼저 오는 이유: 문자 정렬 실습

파일 이름처럼 생긴 세 줄을 정렬해 문자 순서와 숫자 순서의 차이를 확인했습니다.

송상수 · 결록

이 글의 핵심

  1. 정렬 기준을 읽고 시작합니다.
  2. 문자 정렬은 숫자의 크기 순서와 다릅니다.
  3. 텍스트 정렬이 실제 파일 정렬을 바꾸지는 않습니다.

01. 번호가 있는데 왜 순서가 다를까요?

문자열 안에 숫자가 포함되어 있어도 정렬 기능이 그 숫자의 크기를 자동으로 비교한다고 볼 수는 없습니다. 이번에는 chapter-10, chapter-2, chapter-1이라는 가상 이름을 사용해 기본 문자 정렬의 결과를 관찰했습니다.

02. 입력과 설정

CyberChef에서 Sort를 검색해 Recipe에 추가했습니다. Delimiter는 Line feed, Reverse는 꺼짐, Order는 Alphabetical (case sensitive)였습니다. 이름 세 개를 각각 한 줄에 넣고 결과를 확인했습니다.

Alphabetical (case sensitive)에서 chapter-1, chapter-10, chapter-2 순서가 된 실제 출력입니다.
Alphabetical (case sensitive)에서 chapter-1, chapter-10, chapter-2 순서가 된 실제 출력입니다. · 클릭하면 원본 크기로 열립니다.

03. 실제 정렬 결과

출력은 chapter-1, chapter-10, chapter-2였습니다. 숫자 크기로 기대하는 1, 2, 10과는 달랐습니다. 선택한 기준이 문자 정렬이라는 점을 읽으면 결과를 이해할 수 있습니다. 이번에는 Numeric 옵션으로 혼합 문자열을 정렬하는 실험은 하지 않았습니다.

04. 이름 규칙을 정할 때

번호를 포함한 이름을 만들 때는 정렬에 사용할 프로그램과 규칙을 먼저 고려하세요. 자릿수를 맞춘 이름을 사용할지, 프로그램의 자연 정렬 기능을 사용할지는 환경에 따라 다릅니다. 어떤 방법을 선택하든 작은 샘플로 결과를 확인한 뒤 많은 파일에 적용하는 편이 좋습니다.

05. 실제 파일에는 영향이 없습니다

이번 실습은 Input에 쓴 텍스트 줄의 순서만 바꿨습니다. 사용자의 파일을 검색하거나 이름을 바꾸지 않았습니다. 파일 정리 명령으로 오해하지 말고, 출력 목록을 다른 작업에 쓰기 전에 항목이 빠지거나 추가되지 않았는지 원본과 대조하세요.

마지막으로 기억할 것

  1. 정렬 기준을 읽고 시작합니다.
  2. 문자 정렬은 숫자의 크기 순서와 다릅니다.
  3. 텍스트 정렬이 실제 파일 정렬을 바꾸지는 않습니다.

출처: 공식 자료·실습 출처 · 실습한 서비스