Programming

[Linux/grep] 실용적인 grep 명령 예제 15가지

JMob 2014. 9. 28. 19:31
728x90
반응형

출처 : http://www.thegeekstuff.com/2009/03/15-practical-unix-grep-command-examples/


먼저 앞으로 나올 예제에서 사용할 데모파일을 다음과 같이 만듭니다.


$ cat demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper Case.

Two lines above this line is empty.
And this is the last line.


1. 파일 하나에서 지정된 문자열 검색


그랩의 기본 사용법은 지정된 파일에서 특정 문자열을 검색하는것이다.


Syntax:
grep "literal_string" filename

$ grep "this" demo_file
this line is the 1st lower case line in this file.
Two lines above this line is empty.
And this is the last line.

2. 여러 파일에서 특정 문자열 검색


 Syntax:

grep "string" FILE_PATTERN

이 또한 grep의 기본 사용법이다. 예를 들어 demo_file을 demo_file1로 복사를 할 수 있다. 그랩은 매치되는 이름을 포함하는 파일에서 특정판 패턴을 아래 명령처럼 출력해준다. 리눅스는 쉘 매타 문자를 볼때, 모든 파일의 입력을 그랩에게 확장하고 입격해준다.


$ cp demo_file demo_file1

$ grep "this" demo_*
demo_file:this line is the 1st lower case line in this file.
demo_file:Two lines above this line is empty.
demo_file:And this is the last line.
demo_file1:this line is the 1st lower case line in this file.
demo_file1:Two lines above this line is empty.
demo_file1:And this is the last line.

3. -i 를 이용해 대소문자 구분없이 검색.


Syntax:
grep -i "string" FILE

  $ grep -i "the" demo_file

THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper Case.
And this is the last line.


4, 파일에서 정규 표현식을 일치시킨다.


Syntax:
grep "REGEX" filename

만약에 정규 표현식을 효과적으로 사용하는경우, 이 방법은 매우 강력한 요소이다. 예을들어 "line"으로 시작하고 "empty"로 끝나는 모든 패턴을 검색한다. 즉 demo_file에서 "[빈라인]빈줄"을 검색한다.


$ grep "lines.*empty" demo_file
Two lines above this line is empty.

정규 표현식은 아래 여러 반복 연산자 중 하나가 올 수 있다.


  • ? The preceding item is optional and matched at most once.
  • * The preceding item will be matched zero or more times.
  • + The preceding item will be matched one or more times.
  • {n} The preceding item is matched exactly n times.
  • {n,} The preceding item is matched n or more times.
  • {,m} The preceding item is matched at most m times.
  • {n,m} The preceding item is matched at least n times, but not more than m times.
5. 문자열에 포함된 단어가 아닌 독립 단어를 검색할 때 -w를 사용할 수 있다.

만약에 "is"라는 단어를 검색하면 단순히 is의 단어만 검색하는 것이 아닌 "his", "this" 등의 단어들도 모두 검색이 가능하다.

$ grep -i "is" demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper Case.
Two lines above this line is empty.
And this is the last line.

그래서 독립 단어 "is"만 검색 할 것이라면 -w를 사용하면 된다.


$ grep -iw "is" demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
Two lines above this line is empty.
And this is the last line.









728x90
반응형