[Linux] wc 명령어로 바이트, 문자, 단어 그리고 줄(라인) 수 세기
wc 명령어를 사용해서 파일 또는 입력의 바이트, 문자, 단어 그리고 줄(라인) 수를 세는 방법을 알아보자.
환경
- Linux 기반 시스템
- Bash shell(/bin/bash)
wc 명령어
wc 명령어란?
wc [OPTION]... [FILE]...
wc [OPTION]... --files0-from=F
wc
: 주어지는 파일 또는 표준 입력의 바이트, 문자, 단어 그리고 줄(라인) 수를 출력해주는 명령어입니다.wc
는 ‘word count’를 의미한다고 합니다.ls -al
과 함께 폴더와 파일의 수를 알고 싶을때 응용이 가능합니다.
옵션별 사용법
예제에 사용할 파일 작성
- ASCII용 예제
$ cat << EOF > test_ascii.txt
123
abc def hij
lmn opq rs
EOF
$ file test_ascii.txt
test_ascii.txt: ASCII text
- UTF-8용 예제
$ cat << EOF > test_utf.txt
한국어 배워보세요.
감사합니다. 또 봐요!
EOF
$ file test_utf.txt
test_utf.txt: UTF-8 Unicode text
-c, –bytes 옵션
- 파일의 바이트 수를 출력합니다.
$ wc -c test_ascii.txt
27 test_ascii.txt
# You can use it with cat command
$ cat test_ascii.txt | wc -c
27
-m, –chars 옵션
- 문자들의 수를 출력합니다.
$ wc -m test_ascii.txt
27 test_ascii.txt
# You can use it with cat command
$ cat test_ascii.txt | wc -m
27
- ASCII에서는 문자의 수가 곧 바이트의 수지만(문자당 1바이트) 다른 문자 형식에서는 아닐수도 있습니다.
$ wc -m test_ascii.txt
27 test_ascii.txt
$ wc -c test_ascii.txt
27 test_ascii.txt
$ wc -m test_utf.txt
24 test_utf.txt
$ wc -c test_utf.txt
56 test_utf.txt
-l, –lines 옵션
- 줄(라인 또는 개행문자)의 수를 출력합니다.
$ wc -l test_ascii.txt
3 test_ascii.txt
$ cat test_ascii.txt | wc -l
3
- 특정 폴더에서 파일이나 폴더의 수를 알고 싶을 때
ls -al
과 같이 사용가능합니다.
$ ls -al | wc -l
9
-w, –words 옵션
- 단어의 수를 출력합니다.
$ wc -w test_ascii.txt
7 test_ascii.txt
$ wc -w test_utf.txt
5 test_utf.txt