ZeroTool Workbench
텍스트 줄 도구
중복 행 삭제·알파벳/숫자 순 정렬·역순·셔플·트림. 무료, 브라우저에서 완결.
사용 방법
- 처리할 텍스트(한 줄에 한 항목)를 입력창에 붙여넣습니다.
- 적용할 작업(중복 삭제·정렬·셔플 등)을 클릭합니다.
- 결과를 복사합니다.
활용 예시
- 이메일 주소 목록의 중복 삭제
- 키워드 목록의 알파벳 순 정리
- 랜덤 샘플링을 위한 셔플
- 로그 항목의 역순 표시
버튼별 동작
모든 버튼은 입력 칸을 읽어 출력 칸에 씁니다. 입력은 바뀌지 않습니다. 여러 단계(공백 제거 → 중복 삭제 → 정렬)를 이어서 하려면 단계마다 출력을 입력 칸에 다시 복사하세요.
| 버튼 | 규칙 |
|---|---|
| 중복 제거 | 각 줄의 첫 번째 항목을 원래 순서대로 남깁니다. 대소문자와 공백까지 완전히 같아야 중복으로 봅니다. awk '!seen[$0]++'와 같은 결과 |
| A→Z 정렬 / Z→A 정렬 | 브라우저 기본 로캘의 String.prototype.localeCompare |
| 숫자 정렬 | 각 줄을 parseFloat로 읽고, 숫자로 읽히지 않는 줄은 끝으로 보내 오름차순 정렬 |
| 역순 | 줄 순서를 뒤집음 |
| 섞기 | 무작위 순서(클릭할 때마다 다름) |
| 공백 제거 | 각 줄 앞뒤의 공백 삭제 |
| 빈 줄 제거 | 비어 있거나 공백만 있는 줄 삭제 |
예시: 섞인 목록의 정렬과 중복 삭제
입력(마지막 줄 끝에 공백이 하나 있음):
banana
Apple
apple
Cherry
_x
10
9
éclair
Zebra
apple
apple
A→Z 정렬(브라우저 언어가 영어일 때):
_x
10
9
apple
apple
Apple
apple
banana
Cherry
éclair
Zebra
순서는 바이트 값이 아니라 로캘 규칙을 따릅니다. 대문자와 소문자가 나란히 오고 é는 e 근처에 놓입니다. 숫자가 아니라 문자 단위로 비교하므로 10이 9보다 앞입니다. 셸의 LC_ALL=C sort는 바이트 순서로 정렬합니다:
10
9
Apple
Cherry
Zebra
_x
apple
apple
apple
banana
éclair
같은 입력으로 중복 제거를 하면 apple 하나가 빠지고, apple (끝 공백 포함)은 다른 줄로 남습니다:
banana
Apple
apple
Cherry
_x
10
9
éclair
Zebra
apple
끝 공백을 구분하지 않으려면 먼저 공백 제거를 하고 결과를 입력에 다시 넣은 뒤 중복을 삭제하세요.
예시: 숫자 정렬이 읽는 값
1,000
v2
-3
1e3
10px
3
0x10
4
결과:
-3
0x10
1,000
3
4
10px
1e3
v2
parseFloat는 앞부분의 숫자를 읽다가 쓸 수 없는 문자에서 멈춥니다. 0x10은 0, 1,000은 1, 10px는 10, 1e3는 1000으로 읽힙니다. 4는 앞 공백이 그대로 남습니다. v2는 숫자로 시작하지 않아 맨 끝으로 갑니다.
명령줄 대응
| 작업 | 셸 | 이 도구와의 차이 |
|---|---|---|
| 순서를 유지하며 중복 삭제 | awk '!seen[$0]++' file.txt | 같은 결과 |
| 인접한 중복 삭제 | sort file.txt | uniq | 출력이 정렬됨 |
| 정렬 | sort file.txt | LC_COLLATE를 따름, LC_ALL=C이면 바이트 순서 |
| 숫자 정렬 | sort -n file.txt | 1,000, 0x10, 1e3 처리 규칙이 다름 |
| 역순 | tac file.txt(GNU) / tail -r file.txt(macOS) | 같은 결과 |
| 빈 줄 삭제 | sed '/^[[:space:]]*$/d' file.txt | 같은 결과 |
| 줄마다 공백 제거 | sed 's/^[[:space:]]*//;s/[[:space:]]*$//' file.txt | ASCII 공백이면 같은 결과 |
제한 사항
- 대소문자를 무시하는 모드가 없습니다. 필요하면 먼저 텍스트 대소문자 변환으로 소문자로 바꾸세요.
- 줄바꿈(LF)으로 줄을 나눕니다. 붙여넣은 Windows 줄바꿈은 브라우저 입력 칸이 LF로 맞춥니다.
- 알파벳 순서는 브라우저 언어 설정에 따라 달라지므로, 악센트나 대소문자가 섞인 줄은 기기마다 순서가 다를 수 있습니다.
- 줄 수 제한은 없으며 브라우저 메모리가 한계입니다.
FAQ
어떤 작업을 지원합니까?
중복 행 삭제(대소문자 구분), 오름차순·내림차순 알파벳 정렬, 숫자 정렬, 행 역순, 랜덤 셔플, 각 행의 앞뒤 공백 제거, 빈 줄 제거를 지원합니다.
여러 작업을 조합할 수 있습니까?
네. 다만 각 버튼은 입력 칸을 읽으므로, 중복 삭제 후 정렬하려면 출력을 입력 칸에 다시 복사한 뒤 정렬하세요.
빈 행도 처리됩니까?
네. 빈 행 제거 옵션도 있습니다.
데이터가 서버로 전송됩니까?
아니요. 모든 처리는 브라우저 내에서 완결됩니다.