본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

cw – Count Words

0

cw는 Rust로 구현된 고속 워드 카운터(wc) 복제본입니다. Unix/Linux 환경에서 널리 사용되는 wc 명령어의 기능을 포함하며, SIMD 최적화와 멀티스레딩을 통해 빠른 속도로 텍스트 파일의 줄, 단어, 문자, 바이트 수를 셀 수 있게 해줍니다.

명령줄 도구워드 카운터텍스트 분석파일 분석

소개

cw는 Rust로 구현된 고속 워드 카운터(wc) 복제본입니다. Unix/Linux 환경에서 널리 사용되는 wc 명령어의 기능을 포함하며, SIMD 최적화와 멀티스레딩을 통해 빠른 속도로 텍스트 파일의 줄, 단어, 문자, 바이트 수를 셀 수 있게 해줍니다.

상세정보

기본 카운팅 모드

cw는 wc와 유사한 플래그로 다양한 카운팅을 지원합니다. -l은 줄 수, -w는 단어 수, -c는 바이트 수, -m은 UTF-8 문자 수를 셀 수 있습니다. 여러 플래그를 조합하여 최대 줄 길이(-L) 등 복합적인 정보도 확인할 수 있습니다.

고성능 처리

cw는 성능에 최적화되어 있습니다. bytecount 및 memchr 크레이트를 활용하여 줄 수 세기와 같은 작업을 SIMD(단일 명령 다중 데이터)를 사용하여 가속화합니다. 벤치마크 결과, 기본 모드에서 FreeBSD 및 GNU wc보다 빠르며, 특정 모드에서는 최대 70배 이상의 성능 향상을 보입니다.

멀티스레딩 지원

여러 파일을 처리할 때 --threads 옵션을 사용하여 멀티스레딩을 활성화할 수 있습니다. 이를 통해 처리량을 대폭 높여 단일 스레드보다 최대 11배 이상 빠르게 동작합니다.

기본 사용법/명령어

cw는 명령줄에서 직접 실행합니다. 가장 기본적인 사용법은 파일을 인자로 전달하는 것입니다.

  • 특정 파일의 줄, 단어, 바이트 수 출력: cw 파일명
  • 줄 수만 세기: cw -l 파일명
  • 단어 수만 세기: cw -w 파일명
  • UTF-8 문자 수 세기: cw -m 파일명
  • 여러 파일 처리 시 멀티스레딩 활성화: cw --threads=8 파일1 파일2 ...

도움말을 보려면 cw --help 명령을 사용하세요.

이런 경우에 유용합니다

  • 빠른 텍스트 분석: 로그 파일이나 대용량 텍스트 데이터에서 빠르게 줄 수나 단어 수를 확인해야 할 때
  • 스크립트 및 자동화: 셸 스크립트나 자동화 파이프라인에서 텍스트 처리 속도를 높여야 할 때
  • 성능 비교가 필요한 경우: GNU wc나 FreeBSD wc보다 더 빠른 카운팅이 요구될 때

지원 환경·시스템 요구사항

원본 소스는 Rust로 작성되어 다양한 플랫폼에서 빌드할 수 있습니다. Chocolatey 패키지를 통해 Windows에서도 설치 및 사용이 가능합니다. SIMD 가속 기능을 완전히 활용하려면 빌드 시 특정 기능 플래그가 필요할 수 있습니다.

제한 사항·확인 사항

  • 로케일 미지원: 현재 cw는 -m 플래그를 사용하지 않는 경우 로케일 설정과 관계없이 바이트 기반으로만 동작합니다.
  • 기능 개발 중: 공식 문서에 따르면, 유니코드 규칙을 보다 엄밀히 따르는 테스트 스위트, 라이브러리화, 다중 바이트 지원 개선 등의 추가 기능이 계획되어 있습니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.