| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- Unix명령어
- shell
- 쉘스크립트
- php
- tcsh
- environment
- PackageManagement
- 유닉스명령어
- 리눅스명령어
- linux
- 정규표현식
- UNIX
- UnixCommand
- coreutils
- 리눅스
- linuxcommand
- js
- 파일시스템
- 시스템관리
- 유닉스
- sysadmin
- JavaScript
- Solaris
- 사용자관리
- bash
- 명령어
- 터미널
- 자바스크립트
- cups
- terminal
Archives
- Today
- Total
ioerror
wc 사용법 및 옵션 - 텍스트 파일의 줄, 단어, 바이트, 문자 수를 계산하는 명령어 본문
반응형

wc - Word Count
wc 명령어는 텍스트 파일이나 표준 입력(Standard Input)으로 전달된 데이터의 줄 수(Line), 단어 수(Word), 바이트 수(Byte), 문자 수(Character)를 측정하여 출력하다. 셸 스크립트 작성 시 데이터 전처리, 로그 파일 분석, 프로세스 개수 확인 등에 다양하게 활용되다. 유닉스 및 리눅스, macOS 등 POSIX 준수 운영체제 전반에서 기본적으로 제공되다.
1. 명령어 용도
- 사용가능 OS, Shell: Linux, macOS, Unix 계열 전반 (Bash, Zsh, Sh 등 모든 셸 공통)
- 특정 파일의 크기나 분량을 신속하게 파악할 때 사용되다.
- 파이프라인(|)과 다른 명령어(grep, ls, find 등)를 조합하여 검색 결과의 개수나 실행 중인 프로세스 수를 측정하는 상황에서 빈번하게 활용되다.
2. 명령어 서식
Bash
wc [옵션]... [파일]...
3. 명령어 옵션
- 주요 옵션 소개
| 옵션 | 설명 | 사용가능 OS 및 쉘 |
| -l, --lines | 줄(newline) 개수를 출력하다 | [POSIX] [GNU/Linux] [macOS/BSD] |
| -w, --words | 단어(word) 개수를 출력하다 | [POSIX] [GNU/Linux] [macOS/BSD] |
| -c, --bytes | 바이트(byte) 수를 출력하다 | [POSIX] [GNU/Linux] [macOS/BSD] |
| -m, --chars | 문자(character) 수를 출력하다 | [POSIX] [GNU/Linux] [macOS/BSD] |
| -L, --max-line-length | 가장 긴 줄의 길이(문자 수)를 출력하다 | [GNU/Linux] |
| --files0-from=F | NUL 문자로 구분된 파일 목록 파일 F에서 입력 대상을 읽다 | [GNU/Linux] |
| --help | 도움말을 출력하고 종료하다 | [GNU/Linux] |
| --version | 버전 정보를 출력하고 종료하다 | [GNU/Linux] |
- 명령어 옵션 사용 예시
Bash
# 1. 파일의 줄 수, 단어 수, 바이트 수 기본 출력
wc sample.txt
# 15 48 325 sample.txt
# 2. 파이프라인을 활용한 특정 단어 출현 횟수 카운트
grep "ERROR" system.log | wc -l
# 42
# 3. 여러 파일의 라인 수 측정 및 총합 확인
wc -l file1.txt file2.txt
# 120 file1.txt
# 250 file2.txt
# 370 total
# 4. 표준 입력을 활용하여 파일명 없이 숫만 출력 (리다이렉션 사용)
wc -l < sample.txt
# 15
# 5. 가장 긴 라인의 길이 확인 [GNU/Linux]
wc -L sample.txt
# 82 sample.txt
- 예시 결과 설명
- 15 48 325 sample.txt: 순서대로 개행 문자의 수(15줄), 공백으로 구분된 단어의 수(48개), 총 바이트 수(325바이트)와 대상 파일명을 나타내다.
- 42: system.log 파일 내에서 "ERROR" 문자열이 포함된 라인이 총 42개임을 의미하다.
- total: 복수의 파일을 인자로 전달할 경우 각 파일별 수치와 함께 마지막 행에 전체 총합(total)을 표시하다.
- wc -l < sample.txt: 표준 입력으로 인자를 전달하면 결과 출력 시 파일명이 포함되지 않고 숫자만 깨끗하게 출력되다.
4. 명령어 특이사항(유의사항)
- 라인 수(-l) 측정 기준: wc -l은 단순한 '문장 개수'가 아닌 개행 문자(\n)의 개수를 집계하다. 파일의 마지막 줄에 개행 문자가 포함되어 있지 않으면 해당 줄은 카운트에서 누락되다.
- 바이트(-c)와 문자(-m)의 차이: UTF-8과 같은 멀티바이트 인코딩 환경에서 한글 등의 문자는 1문자당 3바이트를 차지하다. 이에 따라 영문 환경과 달리 -c 옵션과 -m 옵션의 결과 값이 다르게 측정되다.
- Stack Overflow 자주 묻는 질문: 파일 목록을 넘겨받아 연산할 때 공백이나 줄바꿈이 포함된 파일명이 있으면 오류가 발생할 수 있다. 이 경우 find . -type f -print0 | wc -l --files0-from=- 형태로 NUL 구분자를 사용하는 것이 안전하다.
관련 명령어들
- cat: 파일의 내용을 연속적으로 출력하다.
- grep: 파일이나 입력 스트림에서 특정 패턴을 검색하다.
- nl: 파일의 각 라인에 줄 번호를 부여하여 출력하다.
- du: 파일 및 디렉터리의 디스크 사용량을 확인하다.
https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference
UNIX & Linux Command Reference
유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하
ioerror.tistory.com
반응형
'OS' 카테고리의 다른 글
| where 사용법 및 옵션 - 지정한 명령어가 존재하는 모든 경로 및 별칭 위치를 검색하는 Shell 내장 명령어 (0) | 2026.08.09 |
|---|---|
| wget 사용법 및 옵션 - 웹 서버로부터 파일 다운로드 및 미러링을 수행하는 네트워크 유틸리티 (0) | 2026.08.09 |
| wall 사용법 및 옵션 - 시스템의 모든 접속 사용자에게 브로드캐스트 메시지 전송 (0) | 2026.08.09 |
| w 사용법 및 옵션 - 현재 접속 중인 사용자 목록 및 작업 현황 확인 (0) | 2026.08.09 |
| visudo 사용법 및 옵션 - sudoers 설정 파일을 안전하게 수정하고 구문을 검증하는 관리 명령어 (0) | 2026.07.31 |
Comments