행궁동 데이터 엔지니어

반응형

리눅스(Linux)에서 문자, 단어, 줄(line) 수를 출력하는 wc 명령어 사용방법에 대해 적어봅니다.

해당 명령어 프로그램은 표준 유닉스 프로그램으로서 대부분의 리눅스 배포판에서 사용할 수 있습니다.

wc 명령어를 사용해 각각의 파일에 대한 문자(char), 단어(word), 줄(line), 바이트(byte) 수를 알 수 있습니다. [1]


[WC (Word Count) 명령어]

  • 사용 방법 : wc [OPTION]... [FILE명]...

옵션

  • -m : 지정한 파일의 문자수(char)를 출력

  • -w : 지정한 파일의 총 단어수(word) 출력

  • -l : 지정한 파일의 줄 수(line) 출력, 행수(row) 출력

  • -c : 지정한 파일의 bytes 출력 

  • -L : 지정한 파일의 모든 행중 길이가 가장 긴 행의 문자수를 출력

사용 예시 

  • 사용 예 1번 : wc -l busdata.csv <- busdata.csv 파일의 줄 수(line), 행수(row) 출력

  • 사용 예 2번 : wc busdata.csv -cm <- busdata.csv 파일의 문자 갯수와 Bytes 출력, 예시처럼 옵션이 뒤로 가도 상관 무

  • 사용 예 3번(다수의 파일 동시 확인) :wc busdata.csv busdata2.csv <- 2개 파일의 줄수, 단어수, 문자수 출력


[wc 명령어 실제 사용 확인]

명령어 : wc busdata.csv 

  • 옵션 생략 시 줄, 단어, Bytes 수를 기본으로 출력

  • busdata.csv 파일은 11832 줄, 47394 단어, 1971234 Bytes 로 이루어졌음

명령어 : wc busdata.csv -cm

  • -m, -c 2가지 옵션으로 해당 파일의 문자수와 Bytes를 출력

  • busdata.csv 파일은 1563594개의 문자, 19712434 Bytes로 이루어졌음

명령어 : wc busdata.csv error.log

  • busdata.csv, error.log 2개 파일의 줄, 문자, Bytes 수 확인


[wc 명령어의 응용]

  • 특정경로의 디렉터리 개수 확인하기

명령어 : ls -lh ~ | grep "^d" | wc -l

  • 홈 디렉터리(~)의 디렉터리 개수 확인 결과 3개인 것으로 확인

명령어 해설

  • ls -lh ~ : 홈 디렉터리(~)의 파일목록(List Segments) 확인, 옵션 -l(각각의 파일을 행단위로 표시), 옵션-h(용량을 사람(human)이 보기 쉽게 표현)

  • | (Linux Pipe, 리눅스 파이프) : 프로세스의 출력 스트림을 다른 프로세스의 입력 스트림으로 사용하는 특수 기호 ex) A | B는 A 커맨드의 표준 출력을 B의 표준 입력으로 사용

  • 위의 예를 보면 ls -lh ~ 의 표준 출력을 grep 커맨드의 표준 입력으로 전달

  • grep "^d" : 표준 입력 중 d로 시작하는 입력만 출력

  • GREP(Global Regular Expression and Print), "^d"에서 ^는 Regular Expression으로 입력의 첫 시작을 의미하고 ^d가 되어 입력의 첫 시작이 d인 경우에 출력하겠다는 의미가 됨

  • | wc -l : grep "^d"의 표준 출력을 wc -l의 표준 입력으로 받아 출력

 

제가 찾아보고, 아는 한도내에서 wc명령어를 정리해봤습니다. wc 명령어가 추가적으로 궁금하시면 man wc, info wc로 확인할 수 있습니다.

man wc

 

[1] 위키백과, wc(유닉스), https://ko.wikipedia.org/wiki/Wc_(%EC%9C%A0%EB%8B%89%EC%8A%A4)
[2] Youngjae님 블로그, wc옵션 설명, https://blog.naver.com/dudwo567890/130155651122
[3] JDM's님 블로그, 리눅스 파이프(|) 설명, https://jdm.kr/blog/74
[4] 위키백과, grep명령어 설명, https://ko.wikipedia.org/wiki/Grep

 

 

반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band