줄 정렬
어떤 목록이든 순서대로 정리합니다. 가나다·알파벳 오름차순과 내림차순, 자연 정렬, 각 줄의 첫 번째 숫자 기준, 길이순, 무작위 섞기를 지원합니다. 정렬에는 브라우저 자체의 언어 규칙을 쓰며, 모든 처리가 내 기기에서 이루어집니다.
0자 · 0단어 · 0줄
0자 · 0단어 · 0줄
이 브라우저 탭 안에서만 처리됩니다. 입력한 텍스트는 업로드되거나 저장되지 않습니다.
기능 설명
줄 정렬 기능은 줄을 브라우저의 로캘 규칙에 맞춘 가나다·알파벳순, 자연 정렬(file2가 file10보다 앞), 각 줄의 첫 번째 숫자 기준, 길이순 또는 무작위 순서로 다시 배열합니다.
파일 10 파일 9 파일 1
파일 1 파일 9 파일 10
가나다·알파벳순은 문자 코드 순서와 다릅니다
컴퓨터가 텍스트를 정렬하는 가장 단순한 방법은 문자 코드 순서이지만, 이렇게 하면 이상한 결과가 나옵니다. 모든 대문자(ASCII 코드 65–90)가 모든 소문자(97–122)보다 앞에 오므로 "Zebra"가 "apple"보다 먼저 정렬되고, 악센트 문자는 z 뒤로 갑니다. 사람들은 사전 순서를 기대하며, 언어학에서는 이를 콜레이션(collation)이라고 합니다. 이 도구는 유니코드 콜레이션 알고리즘을 브라우저에 구현한 Intl.Collator를 사용하므로 "apple", "Banana", "éclair"가 읽는 사람이 기대하는 대로 정렬됩니다.
콜레이션은 언어에 따라서도 달라집니다. 독일어 사전은 ä를 a와 함께 두지만, 스웨덴어는 å, ä, ö를 z 뒤, 즉 알파벳 맨 끝에 둡니다. 이 도구는 브라우저의 기본 로캘을 쓰므로, 스웨덴어 환경에서 정렬한 목록은 스웨덴어 규칙을 따릅니다. 대소문자 무시를 켜면 대소문자나 악센트만 다른 글자는 같은 것으로 비교되고, 그다음 차이로 순서가 정해집니다.
자연 정렬, 숫자순, 길이순
가나다·알파벳순은 숫자를 한 자리씩 비교하므로, 1이 2보다 작다는 이유로 "file10"이 "file2"보다 앞에 옵니다. 자연 정렬은 연속된 숫자를 하나의 수로 읽어 file1, file2, file10 순서로 정렬합니다. Windows 탐색기나 macOS Finder 같은 파일 관리자가 이름을 보여 주는 방식과 같습니다. 장 제목, 버전 목록, 송장 번호, IMG_9와 IMG_10 같은 사진 이름에 쓰세요.
첫 번째 숫자 기준 정렬은 각 줄에서 마이너스 부호와 소수를 포함한 첫 번째 숫자를 찾아 그 값으로 정렬하므로, 가격표, 점수, "사과 12개" 같은 줄에 알맞습니다. 숫자가 없는 줄은 맨 끝으로 갑니다. 길이순 정렬은 눈에 보이는 글자 수가 적은 것부터 정렬하며, 길이가 같으면 가나다·알파벳순으로 정합니다. 가장 짧은 도메인 이름을 찾거나 잘린 항목을 골라낼 때 유용합니다.
무작위 섞기의 원리
무작위 섞기는 피셔–예이츠(Fisher–Yates) 알고리즘을 씁니다. 1938년 로널드 피셔와 프랭크 예이츠가 발표하고 1964년 리처드 더스텐펠드가 컴퓨터용으로 고친 이 알고리즘은 목록 끝에서부터 각 줄을 그 줄이나 그 앞의 무작위로 고른 줄과 맞바꿉니다. 좋은 난수원을 쓰면 모든 순서가 나올 확률이 같습니다. 난수는 시드를 쓰는 작은 의사 난수 생성기인 mulberry32에서 나오므로, 새로 섞기를 요청하기 전까지는 섞인 순서가 그대로 유지됩니다. 상태가 32비트이므로 만들 수 있는 섞기 결과는 최대 약 43억 가지로, 13줄의 순서 62억 가지보다 적습니다. 퀴즈 문제, 재생 목록, 발표 순서 정하기에는 충분하지만, 추첨이나 돈·보안이 걸린 일에는 맞지 않습니다.
정렬하기 전에 목록을 정리하려면 먼저 중복 줄 제거를 거치세요.
자주 묻는 질문
- file10이 왜 file2보다 앞에 정렬되나요?
- 일반 가나다·알파벳순은 글자를 하나씩 비교하며, 1이 2보다 앞이기 때문입니다. 연속된 숫자를 하나의 수로 보는 자연 정렬을 고르면 file2가 file10보다 앞에 옵니다.
- 정렬하면 대문자로 시작하는 단어가 먼저 오나요?
- 아니요. 언어 규칙을 따르는 콜레이션으로 정렬하므로 apple과 Apple이 나란히 놓입니다. 모든 대문자를 모든 소문자 앞에 두는 것은 단순한 문자 코드 정렬뿐입니다.
- 무작위 섞기는 정말 무작위인가요?
- 시드를 쓰는 빠른 의사 난수 생성기로 동작하는, 치우침 없는 피셔–예이츠 섞기를 사용합니다. 일상적인 용도에는 충분히 공정하지만 추첨, 복권, 보안 용도에는 적합하지 않습니다.
- 숫자순 정렬에서 숫자가 없는 줄은 어디로 가나요?
- 목록 맨 끝으로 가며, 그 줄끼리는 가나다·알파벳순으로 정렬됩니다. 숫자가 있는 줄은 그 줄에서 처음 찾은 숫자의 값으로 정렬됩니다.
- 줄을 가나다·알파벳 역순으로 정렬할 수 있나요?
- 네, Z→A를 고르세요. A→Z와 같은 언어 규칙 비교를 순서만 뒤집어 쓰므로, 악센트가 있거나 대문자로 시작하는 단어도 알맞은 위치에 놓입니다.