컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Tuesday, November 28, 2006

grep 명령] 찾은 문자열/단어 개수 출력, 행의 개수 출력: Count of String, Linux Unix


grep 명령어에서, 찾은 문자열의 개수를 출력하려면 소문자로
-c
옵션을 붙이면 됩니다. 그런데 실은 문자열의 개수가 아니라 그 문자열이 포함된 행의 개수입니다.

(문자열이나, 정규식에 매치되는 모든 단어의 개수를 구하는 방법은 여기에 있습니다: ▶▶ Perl/펄] 파일 속의 문자열 개수 세기; Count All (grep 확장 스크립트))



grep: 특정 문자열이 있는 행의 개수 세기 예제


테스트용으로 사용할 텍스트 파일 2개:

0.txt 파일의 내용:
foo



test.txt 파일의 내용:
foo

foo bar foo foo foo FOO

Foofoo

122 22 11 1000000000

142

771



0.txt 라는 파일에는 foo 라는 문자열이 1개 있고
test.txt 라는 파일에는 foo 라는 문자열이 8개 있습니다.

그냥 실행하면 다음의 첫번째 실행 결과처럼, 찾은 행 자체가 출력됩니다.

-c 옵션을 붙이면 찾은 회수(행의 개수)를 숫자로 표시합니다.

D:\Z>grep 'foo' *.txt
0.txt:foo
test.txt:foo
test.txt:foo bar foo foo foo FOO
test.txt:Foofoo

D:\Z>grep -c 'foo' *.txt
0.txt:1
test.txt:3

D:\Z>


test.txt 파일에 foo 라는 단어가 8개 있지만, 3개로 나왔습니다. 3개의 행 속에서 foo 가 발견되었다는 뜻입니다.

정확한 foo 의 숫자를 세기 위해서는 역시 Perl 스크립트로 세어야 하더군요: ▶▶ Perl/펄] 파일 속의 문자열 개수 세기; Count All (grep 확장 스크립트)


단어 수, 200자 원고지 장수, 줄 수 계산기: ▶▶ 단어수 세기, 200자 원고지 매수 계산, 줄수 행 개수; Word Counter




tag: linux
리눅스 Linux | 유닉스 Unix | 시그윈 Cygwin
tag: perl
Perl | 펄 프로그래밍

2 Comments:
At May 24, 2019 at 7:22 PM, Blogger Unknown said...

-c 옵션을 사용하여 나오는 결과값을 변수에 저장할 수 있는 방법이 있나요?

 
At May 24, 2019 at 8:24 PM, Blogger mwultong said...


명령 전체를 백틱 문자(`)로 감싼 후에
변수명(여기서는 zzz 라는 변수명)에 대입해 주면
결과값이, 화면이 아닌 변수 속으로 들어가 저장됩니다.
다음과 같습니다.
zzz=`grep -c 'foo' *.txt`


이제
echo $zzz
이런 명령을 실행하시면
0.txt:1 test.txt:3
이렇게 "셀 변수"의 내용이 화면에 출력됩니다.


백틱(backtick) 문자는 키보드 맨 좌측 상단의
물결무늬 밑에 있는 문자인데
홑따옴표와 아주 비슷하게 보이지만 전혀 다른 문자입니다.


만약 "셀 변수"의 내용을 "시스템 환경변수"에 복사하여 저장하시려면
export zzz
라고 하시면 됩니다.
그런 후
env
라는 명령을 실행하면 모든 환경변수가 출력되는데
그곳에 zzz도 있습니다.

 

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top