Thursday, September 21, 2006
grep ] 여러 단어 동시에 찾기, 복수 문자열 검색 - Multiple Strings
이것은 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 명령
시그윈 속에서는 한글 입력에 문제가 있는데, 그냥 도스창(명령 프롬프트)에서 실행하면 잘 됩니다. 물론 시그윈의 "\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 명령
tag: linux
리눅스 Linux | 유닉스 Unix | 시그윈 Cygwin
<< Home