
텍스트 줄 정렬·중복 제거 온라인으로 하는 법 (엑셀·터미널 없이)
📷 Pixabay / Pexels텍스트 줄 정렬·중복 제거 온라인으로 하는 법 (엑셀·터미널 없이)
목록 정렬, 중복 줄 제거, 역순 정렬, 공백 정리를 스프레드시트나 터미널 없이 브라우저에서 바로 처리하는 방법을 소개합니다.
개발자든 기획자든 마케터든 공통적으로 겪는 상황이 있습니다. 여러 소스에서 모은 URL 목록, 키워드 목록, 도메인 목록이 있는데 중복이 잔뜩 섞여 있고 정렬도 안 되어 있는 경우입니다.
해결 방법을 떠올려 보면 엑셀을 열거나, sort | uniq를 터미널에서 실행하거나, Python 한 줄짜리 스크립트를 쓰거나… 뭔가 하나씩 번거롭습니다. 작업 자체는 단순한데 도구를 여는 맥락 전환이 의외로 시간을 잡아먹습니다.
줄 정렬 도구는 이런 순간을 위한 도구입니다. 붙여넣고, 처리하고, 복사하고 끝.
자주 마주치는 상황들
URL이나 도메인 목록 중복 제거
콘텐츠 보안 정책(CSP) 허용 목록, 리다이렉트 규칙, 차단할 도메인 목록 등을 여러 출처에서 모으다 보면 중복이 생깁니다.
터미널에서 sort -u list.txt 한 줄로 해결할 수도 있습니다. 하지만 터미널을 열어야 하고, 파일로 저장해야 하고, 결과를 다시 어딘가에 붙여넣어야 합니다. 이미 브라우저에서 작업 중이라면 온라인 도구가 더 빠릅니다.
태그 목록이나 키워드 알파벳순 정렬
SEO 키워드, 데이터베이스 컬럼명, 환경 변수명, 설정 키 등의 목록은 알파벳순으로 정리되어 있으면 훨씬 관리하기 쉽습니다. 5개라면 손으로도 되지만 50개부터는 도구가 필요합니다.
변경 기록 순서 뒤집기
오래된 항목이 맨 위에 있는 변경 이력을 최신 순서로 바꾸고 싶을 때, 알파벳 역순이 아니라 단순히 순서를 뒤집는 기능이 필요합니다. 정렬 없이 순서만 반전하는 옵션이 따로 있습니다.
무작위 순서로 섞기
테스트 데이터 순서를 랜덤하게 만들거나, 설문 항목을 무작위 배치하거나, 텍스트로 내보낸 재생목록을 섞고 싶을 때 셔플 기능을 씁니다.
알아두면 유용한 옵션들
대소문자 구분 (기본: 해제). 해제 상태에서는 'Apple'과 'apple'이 같은 값으로 처리됩니다. 환경 변수나 명령어처럼 대소문자가 의미 있는 데이터에는 켜세요. 사람 이름이나 지명처럼 대소문자 혼용이 자연스러운 데이터에는 꺼두는 게 좋습니다.
중복 제거. 정렬과 함께 적용하면 중복 없이 정렬된 깔끔한 목록이 완성됩니다. 중복 비교는 대소문자 구분 설정을 따릅니다.
빈 줄 제거. 문서에서 복사하면 빈 줄이 중간중간 섞이는 경우가 많습니다. 이 옵션으로 한 번에 정리됩니다.
앞뒤 공백 제거. 스프레드시트나 PDF에서 복사하면 눈에 보이지 않는 공백이 붙어 오는 경우가 있습니다. 'apple '과 'apple'은 다른 문자열이라 중복 제거가 안 되는데, 이 옵션을 켜면 공백을 먼저 제거하고 비교합니다.
실제 사용 사례: 데이터베이스 마이그레이션 체크리스트 정리
실제로 써봤던 상황입니다. 여러 사람이 관리한 데이터베이스 마이그레이션 체크리스트가 있었는데, 항목이 200개가 넘었고 중복과 공백 차이가 섞여 있었습니다.
처리 과정:
- 전체 목록 복사
- 줄 정렬 도구에 붙여넣기
- 옵션 활성화: 앞뒤 공백 제거, 빈 줄 제거, 중복 제거
- A → Z 정렬 (유사 중복을 눈으로 찾기 쉽게)
- 결과 복사
처리 후 140개로 줄었습니다. 'Migrate users table'과 'migrate users table' 같은 유사 중복은 여전히 눈으로 확인해야 했지만, 명백한 완전 일치 중복은 모두 제거되었습니다.
정렬된 결과는 텍스트 비교 도구로 이전 버전과 비교해 잘못 제거된 항목이 없는지 확인했습니다. 두 도구를 합쳐서 5분 이내에 완료됐습니다.
터미널이 더 나을 때
솔직히 말하면, 터미널이 편한 분이라면 파일 기반 작업에서는 sort -u filename.txt가 더 빠릅니다. 스크립트의 일부로 처리해야 한다면 코드로 하는 게 맞습니다.
온라인 도구가 더 나은 상황:
- 클립보드에 있는 텍스트를 파일로 저장하지 않고 처리하고 싶을 때
- 정렬 + 중복 제거 + 공백 제거를 한 번에 처리하고 싶을 때
- 개발자가 아닌 팀원이 사용해야 할 때
마지막 포인트가 의외로 중요합니다. 콘텐츠 매니저나 기획자도 목록을 정리할 일이 있습니다. 터미널을 모르는 사람에게 sort | uniq 명령어를 설명하는 것보다 도구 링크를 공유하는 게 훨씬 효율적입니다.
한국어를 포함한 다국어 정렬
다국어 텍스트 정렬은 생각보다 복잡합니다.
bash의 sort는 UTF-8을 어느 정도 지원하지만 로케일 설정을 맞춰야 합니다. 악센트 문자(é, ü, ñ)는 로케일에 따라 정렬 위치가 달라집니다. 한국어 한글은 유니코드 코드 포인트가 아니라 가나다순으로 정렬해야 합니다.
줄 정렬 도구는 JavaScript의 localeCompare() 메서드를 사용해 브라우저의 로케일 설정에 맞는 정렬을 적용합니다. 완벽하지는 않지만 단순 코드 포인트 비교보다는 훨씬 자연스러운 결과가 나옵니다.
이 도구가 못하는 것
기대치를 명확히 하겠습니다.
유사 중복을 잡지 못합니다. 'New York'과 'New York City'는 다른 줄이기 때문에 중복으로 처리되지 않습니다. 퍼지 매칭이 필요하다면 더 정교한 도구가 필요합니다.
열 기준 정렬이 안 됩니다. CSV에서 두 번째 컬럼 기준으로 정렬하려면 스프레드시트나 CSV 전용 도구를 사용하세요.
등장 횟수를 세지 않습니다. 'banana'가 몇 번 나왔는지 알고 싶다면 단어 수 세기 같은 도구를 활용하세요.
개인 정보 보호
모든 처리가 브라우저에서 이루어집니다. 텍스트가 서버로 전송되지 않습니다. 이메일 목록, 내부 도메인, 고객 데이터 등 민감한 내용을 담은 목록도 안전하게 처리할 수 있습니다.
마무리
줄 정렬이 별것 아닌 기능처럼 보일 수 있습니다. 하지만 '별것 아닌' 작업을 하루에 몇 번씩 반복하다 보면 그 마찰이 쌓입니다.
줄 정렬 도구는 설치도, 가입도, 파일 저장도 필요 없습니다. 붙여넣고, 옵션 선택하고, 복사하면 끝입니다.
목록을 수정하기 전후를 비교하고 싶다면 텍스트 비교 도구를, 더 자세한 텍스트 분석이 필요하다면 단어 수 세기를 함께 사용해 보세요.