줄 정렬·중복 제거
줄 목록 정렬·중복 제거·공백 제거·셔플·역순. 숫자 자연 정렬, 대소문자 토글, 빈 줄 제거.
왼쪽에 줄 붙여넣기.
작업 순서: 트림 → 빈 줄 제거 → 중복 제거 → 정렬 → 역순. 모든 처리는 브라우저에서.
사용법
- 왼쪽에 목록을 붙여넣습니다.
- 정렬 순서를 선택하고 옵션(중복 제거·공백 정리 등)을 켜거나 끕니다.
- 오른쪽 패널에서 출력을 복사합니다.
자세한 설명
펼치기접기
셸에서 sort | uniq | grep -v '^$'로 하던 일들을 한데 모았습니다. 알파벳순, 내림차순, 자연 정렬(그래서 'item10'이 'item1' 다음이 아니라 'item2' 다음에 옵니다), 중복 제거(대소문자 구분 여부 선택), 공백 다듬기, 빈 줄 버리기, 결과 뒤집기, 무작위 섞기를 할 수 있습니다. 입력과 출력, 제거된 줄 수를 보여 주므로 무엇이 바뀌었는지 볼 수 있습니다.
알아 둘 값어치가 있는 것은 자연 정렬입니다. 단순한 알파벳순은 숫자를 자릿수 문자열로 다루기 때문입니다. 거기서는 item2가 item10 뒤에 오는데, 비교가 처음 다른 글자에서 멈추고 1이 2보다 앞서기 때문입니다. 자연 정렬은 이어진 숫자를 수로 읽어 사람이 기대하는 순서에 놓으며, 파일 이름이나 버전 문자열, 끝에 번호가 붙는 모든 것에서 중요합니다.
알파벳순도 하나가 아닙니다. 코드포인트로 정렬하면 모든 대문자가 모든 소문자보다 앞서서 Zebra가 apple 위에 놓이고, 악센트가 붙은 글자는 기본 범위 바깥으로 아예 벗어납니다. 로케일을 아는 비교는 대소문자를 합치고 é를 e 옆에 두는데, 그것이 독자가 기대하는 바이고 소박한 정렬이 하지 않는 일입니다. 여기의 대소문자 무시 토글이 그중 앞쪽 절반을 다룹니다.
중복 제거는 처음 나온 것을 남기고 정렬보다 먼저 실행되므로, 입력 순서가 어느 중복이 살아남을지를 정합니다. 줄이 똑같을 때는 보이지 않지만 대소문자나 끝 공백에서만 다를 때는 중요해집니다. 중복 제거 전에 다듬으면 foo와 foo 가 한 항목으로 합쳐지고, 순서를 반대로 하면 둘 다 남습니다. 연산 순서가 실제로 일을 하고 있습니다.
읽어야 할 부분은 개수입니다. 예상보다 훨씬 많은 줄이 제거됐다면 대개 공백이나 대소문자가 몰랐던 중복을 가리고 있었다는 뜻이고, 있을 줄 알았는데 하나도 제거되지 않았다면 그 반대입니다.
자주 묻는 질문
'자연 정렬'이란 무엇인가요?
포함된 숫자를 이해하는 정렬로, 'item10', 'item2' 대신 'item2', 'item10' 순서가 됩니다. 내부적으로 Intl.Collator(numeric=true)를 사용합니다. 파일명·버전 번호·순차 ID에 유용합니다.
셔플은 결정적인가요?
아닙니다. Math.random()과 표준 Fisher-Yates 알고리즘을 사용합니다. 다른 순서를 얻으려면 '셔플'을 다시 클릭하세요. 시드 기반 셔플(재현 가능한 난수)이 필요하다면 이 도구는 맞지 않습니다.
중복 제거가 순서를 유지하나요?
정렬이 '없음'이면 유지합니다. 첫 등장을 남기고 나머지를 제거합니다. 정렬을 설정하면 정렬 전에 중복을 제거하므로, 출력은 정렬된 고유 줄 집합입니다.
빈 줄을 구분자로 유지하려면 어떻게 하나요?
'빈 줄 제거' 체크를 해제하세요. 빈 줄은 유지되지만 중복 제거는 빈 줄에도 적용됩니다. 빈 줄은 모두 같은 빈 문자열이므로(trim을 켜면 공백만 있는 줄도 마찬가지) 첫 번째만 남습니다. 빈 줄을 모두 유지하려면 중복 제거도 끄세요.
관련 도구
텍스트 뒤집기
텍스트를 네 가지로 뒤집기 — 문자, 단어 순서, 각 단어의 글자, 줄 순서. 이모지와 모든 언어를 지원합니다.
텍스트
CSV 뷰어 & 정렬
CSV·TSV 데이터를 정렬 가능한 표로 보기 — 파일 열기 또는 붙여넣기, 스프레드시트 불필요.
텍스트
줄바꿈 제거
줄바꿈으로 끊긴 줄을 다시 이어 깔끔한 텍스트로 — PDF·이메일에서 복사할 때 생기는 강제 줄바꿈을 없애되 실제 문단은 유지합니다.
텍스트
줄 포맷터 — 접두/접미 추가 및 결합
각 줄을 접두사와 접미사로 감싸고 원하는 구분자로 결합합니다. 브라우저에서 동작합니다.
텍스트
글자수 단어수 카운터
글자·단어·문장·줄·바이트 수를 실시간으로 셉니다.
텍스트
대소문자 변환기
대문자·소문자·Title·camelCase·snake_case 등으로 변환하세요.
텍스트
UUID 생성기
무작위 버전4 UUID를 여러 개 한 번에 생성하고 복사하세요.
개발