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

 
Previous Post 자바/Java] 외부 프로그램 실행, 외부 명령어 호출 - exec(), ProcessBu...C언어] 랜덤 숫자 (난수 정수) 출력 - Random Numbers rand srand ...C언어] 랜덤(Random)하게 숫자(정수) 출력, srand(), rand(), rand...[Perl/펄] 배열 내용 모두 지우고 초기화 / 해쉬(Hash) 초기화 - Array I...[Perl/펄 강좌] 배열(Array) 정의에서, qw 란?문제해결] 컴퓨터 속도가 너무 느립니다, PC가 느릴 때 빠르게 하는 법은? - QnA펄/Perl] 배열 요소의 개수 구하기 - Perl Array Elements CountC언어] 볼랜드 C/C++ 컴파일러 다운로드 사이트는? - Borland영한/한영 사전] 오프라인 영어 사전 프로그램 - Offline English Korean...자바/Java] 변수를 상수로 만들기. 읽기 전용으로 - Constant

[grep] 여러 단어 동시에 찾기, 복수 문자열 검색 - Multiple Strings

Thursday, September 21, 2006

이것은 Cygwin(시그윈)의 윈도우용 grep 에 대한 설명입니다.

시그윈 속에서는 한글 입력에 문제가 있는데, 그냥 도스창(명령 프롬프트)에서 실행하면 잘 됩니다. 물론 시그윈의 "\cygwin\bin" 디렉토리가 패스(Path)에 들어 있어야 합니다.


여러 단어 동시에 찾기


여러 단어를 동시에 검색할 때에는, 파이프(|) 기호를 단어 사이에 넣으면 됩니다. Shift키를 누르며 백슬래쉬(\)를 누르면 파이프가 찍힙니다. 즉 수직선 문자입니다. 숫자1이나 알파벳소문자 "엘"이 아닙니다.


이것은 테스트에 쓸 파일입니다. 이것을 0.txt 등의 적당한 이름으로 하드에 저장합니다.
0.txt
맹구

봉숭아

봉숭아 학당

버스에서 내렸다.

비가 내리고 있었다.



"*" <- 이런 별표 기호는 모든 파일을 의미합니다. .txt 파일만을 검색하려면 *.txt 라고 하면 됩니다.


grep "맹구\|봉숭아" *

지정해 준 파일들에서, 맹구 또는 봉숭아 라는 단어 중 하나가 들어 있는 행을 찾습니다. 파이프(|) 앞에 백슬래쉬(\)를 붙여야 하고, 검색할 단어들을 큰따옴표로 묶어 줍니다. (만약 리눅스에서 안된다면, 작은 따옴표를 사용해 봅니다.)

결과:

맹구
봉숭아
봉숭아 학당



grep -P "맹구|봉숭아" *
이렇게 -P 또는 -E 옵션을 붙이면 백슬래쉬를 붙이지 않아도 됩니다. 주의! 모든 리눅스/유닉스용 프로그램의 옵션은 대소문자를 엄격히 구분합니다.


grep -E "맹구|봉숭아|비" *
이것은 지정한 파일들에서, 맹구 또는 봉숭아 또는 가 있는 모든 행을 찾습니다.

결과:
맹구
봉숭아
봉숭아 학당
비가 내리고 있었다.




봉숭아 학당 처럼 띄어쓰기가 된 단어와 "비"라는 단어를 찾으려면

grep -E "봉숭아 학당|비" *
이렇게 합니다.

결과:
0.txt:봉숭아 학당
0.txt:비가 내리고 있었다.




행번호까지 출력하려면 -n 옵션을 붙입니다.
grep -n 봉숭아 *

결과:
0.txt:3:봉숭아
0.txt:5:봉숭아 학당





▶▶ grep 사용법] 리눅스/유닉스/Cygwin 문자열 찾기 find 명령

☞ 리눅스

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

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