wc
wc는 유닉스 및 유닉스 계열 운영 체제에서 제공되는 표준 명령어로, 파일이나 표준 입력으로부터 텍스트의 행 수(line count), 단어 수(word count), 바이트 수(byte count)를 계산한다.
명령 형식은 다음과 같다.
wc [옵션] [파일...]
주요 옵션
| 옵션 | 의미 |
|---|---|
-l |
행 수만 출력 |
-w |
단어 수만 출력 |
-c |
바이트 수만 출력(바이트 기반) |
-m |
문자 수만 출력(멀티바이트 문자 포함) |
-L |
가장 긴 행의 길이 출력 |
옵션을 조합하여 사용하면 선택된 항목들만 출력한다. 파일을 지정하지 않을 경우 wc는 표준 입력을 읽어 결과를 출력한다.
사용 예
-
파일
example.txt의 행·단어·바이트 수를 모두 확인한다.wc example.txt출력 예:
23 150 1024 example.txt -
행 수만 알고 싶을 때:
wc -l example.txt -
파이프라인과 함께 사용:
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등 다른 도구를 사용할 필요가 있다.