[Linux] grep 사용법 및 예제
- IT 정보/Linux
- 2020. 4. 10.
Linux를 사용하다보면 ls cd 만큼 많이 사용하는게 grep 명령어 입니다.
그래서 조금 더 grep에 대해 자세히 정리하고자 합니다.
grep은 입력되는 파일에서 주어진 패턴 목록과 매칭되는 라인을 검색한 다음 출력해주는 명령어 입니다.
1. 기본 문법
grep [option] pattern [file]
2. 옵션
옵션 |
설명 |
-c |
매칭된 검색 결과를 출력하지 않고 매칭된 행의 총 라인 수를 출력한다. |
-i |
매칭에 사용하는 문자의 대소문자를 구분하지 않는다. |
-l |
패턴에 매칭된 라인이 하나라도 있는 파일의 이름만을 출력한다. |
-n |
파일 내에서 매칭된 행 번호를 함께 출력한다. |
-s |
에러 메시지 외에는 출력하지 않는다. |
-v |
패턴과 매칭되지 않는 행만 출력한다. |
-w |
\<와 \>로 둘러싸인 패턴표현을 하나의 단어로 취급하여 검색한다. |
3. grep에서 사용하는 정규표현식 메타 문자
메타문자 |
설명 |
^ |
행의 시작 지시자 ex) ^joon : joon으로 시작하는 모든 행을 출력함 |
$ |
행의 끝 지시자 ex) joon$ : joon으로 끝나는 모든 행을 출력함. |
. |
하나의 문자와 대응 ex) j..n : 총 4개의 문자로 이루어진 문자열 중에 처음 문자는 j 끝문자는 n으로 끝나는 문자의 행을 출력함 |
* |
매칭되는 문자가 없거나 하나 이상의 문자에 대해 매칭 ex)joo* : joo, joon, jooo, jood, joon0312 전부 매칭 |
[] |
[ ]안에 문자 중 어떤 하나라도 매칭 ex) joo[n,d,o] : joon, jood, jooo 매칭 |
4. 예제
메타문자 [^] 사용
[root@test00 ~]# grep joo[^n] grep_test.txt
jood
jooo
joof
옵션 -i 사용
[root@test00 ~]# grep -i jo.n grep_test.txt
joon
JoOn0312
JOON123