WIPIVERSE

wc (유닉스)

wc

wc는 유닉스 및 유닉스 계열 운영 체제에서 제공되는 표준 명령어로, 파일이나 표준 입력으로부터 텍스트의 행 수(line count), 단어 수(word count), 바이트 수(byte count)를 계산한다.
명령 형식은 다음과 같다.

wc [옵션] [파일...]

주요 옵션

옵션 의미
-l 행 수만 출력
-w 단어 수만 출력
-c 바이트 수만 출력(바이트 기반)
-m 문자 수만 출력(멀티바이트 문자 포함)
-L 가장 긴 행의 길이 출력

옵션을 조합하여 사용하면 선택된 항목들만 출력한다. 파일을 지정하지 않을 경우 wc는 표준 입력을 읽어 결과를 출력한다.

사용 예

  1. 파일 example.txt의 행·단어·바이트 수를 모두 확인한다.

    wc example.txt
    

    출력 예: 23 150 1024 example.txt

  2. 행 수만 알고 싶을 때:

    wc -l example.txt
    
  3. 파이프라인과 함께 사용:

    ls -l | wc -l
    

    → 현재 디렉터리 파일 목록의 행 수(즉, 파일/디렉터리 개수)를 반환한다.

역사 및 표준화

wc는 최초 AT&T 유닉스 7th Edition(1979)부터 제공된 유틸리티이며, 이후 BSD, System V, Linux, macOS 등 대부분의 유닉스 계열 시스템에 포함되었다. POSIX 표준(IEEE 1003.1)에도 명시되어 있어, 다양한 구현에서 일관된 동작을 보장한다.

구현 특징

  • 기본 구현은 입력을 스트리밍 방식으로 처리하므로, 파일 크기에 관계없이 메모리 사용량이 일정하다.
  • 옵션 -m과 -c는 멀티바이트 문자 인코딩 환경에서 차이를 보일 수 있다(예: UTF‑8). -c는 원시 바이트 수를, -m은 문자(코드 포인트) 수를 센다.

참고 사항

  • wc는 텍스트 파일 외에도 바이너리 파일에 적용될 수 있으나, 바이트/문자 수 해석은 파일 내용에 따라 의미가 달라질 수 있다.
  • 일부 시스템에서는 -L 옵션이 지원되지 않을 수 있다. 이 경우 가장 긴 행 길이를 구하려면 awk 등 다른 도구를 사용할 필요가 있다.
둘러보기

더 찾아볼 만한 주제

    전체 문서 보기