[Linux] grep 명령어 사용법, 리눅스 문자열 검색
![](https://blog.kakaocdn.net/dn/rvcLD/btrTRpGpqcT/WbZIlyZKURuSTk8NWLxto0/img.png)
오늘은 리눅스 사용자라면 몰라서는 안 될 grep 사용 방법에 대해 알아보자.
먼저, grep이라는 명령어는 파일 내에서 원하는 문자열을 포함한 줄을 출력해준다.
아무 옵션 없이 사용하면 다음과 같다.
[haechan@haechan ~]$ cat study_file.txt
hello my name is Monsterr
nice to meet you.
We will study 'grep' command
Follow me.
Thank you.
[haechan@haechan ~]$ cat study_file.txt | grep grep
We will study 'grep' command
[haechan@haechan ~]$ grep "grep" study_file.txt
We will study 'grep' command
위의 코드 블럭을 보면 파일을 읽고 파이프( | )를 사용하여 study_file.txt를 cat한 표준 출력을 입력값으로 받아 grep을 사용하거나 처음부터 grep 명령어를 사용하여 원하는 문자열이 있는 라인을 출력한다.
다음은 grep의 대표적인 option을 확인 해보겠다.
grep 명령어 옵션
-V | grep 명령어의 버전 확인 |
-i | 대소문자를 구분하지 않고 입력한 문자열을 포함한 줄 검색 |
-e | 여러 문자열 지정 |
-w | 입력한 문자열과 정확히 일치하는 문자열을 포함한 줄 검색 |
-v | invert match, 일치하는 문자열을 포함하는 줄을 제외하여 검색 |
-o | 일치하는 문자열만 따로 검색 |
-q | 결과를 출력하지 않음 |
-n | 줄 번호를 포함하여 출력 |
-r | 하위 디렉토리를 포함한 모든 파일에서 검색 |
-l | 입력한 키워드를 포함한 파일을 검 |
-A[숫자] | 검색할 문자열 줄과 입력한 숫자만큼 아랫줄까지 검색 |
-B[숫자] | 검색할 문자열 줄과 입력한 숫자만큼 윗줄까지 검색 |
-C[숫자] | 검색할 문자열 줄과 입력한 숫자만큼 위아래줄까지 검색 |
옵션은 위에 기재된 옵션 중 대부분이 사용된다.
사용 방법은 다음과 같다.
사용방법
- -i, -e 옵션 사용, study와 hello가 포함된 문자열을 대소문자 구분 없이 검색
[haechan@haechan ~]$ grep -i -e study -e hello study_file.txt
hello my name is Monsterr
We will study 'grep' command
- -q 옵션을 사용하여 해당 파일에 입력한 문자열이 포함되는지만 확인, echo $?로 이전 명령의 에러 코드를 반환하여 grep 결과의 성공 유무를 확인할 수 있다.
[haechan@haechan ~]$ grep -q will study_file.txt ; echo $?
0
- -o 옵션을 사용하여 키워드만 뽑아낼 수 있다.
cat test.txt
linux1 linux2 linux3
hello linux5
nice linux6
cat test.txt | grep -o "linux[0-9]\+"
linux1
linux2
linux3
linux4
linux5
linux6
- -A, -B, -C 옵션을 사용하여 위아래 줄까지 확인할 수 있다.
[haechan@haechan ~]$ cat study_file.txt
hello my name is Monsterr
nice to meet you.
We will study 'grep' command
Follow me.
Thank you.
[haechan@haechan ~]$ grep -A1 study study_file.txt
We will study 'grep' command
Follow me.
[haechan@haechan ~]$ grep -B1 study study_file.txt
nice to meet you.
We will study 'grep' command
[haechan@haechan ~]$ grep -C1 study study_file.txt
nice to meet you.
We will study 'grep' command
Follow me.
물론 찾을 문자열에서 정규표현식도 사용할 수 있기 때문에 grep은 더욱 많은 곳에서 활용될 수 있다.
언제가 될지는 모르겠지만 다음엔 정규표현식도 포스팅하도록 하겠다.
'IT > 리눅스' 카테고리의 다른 글
[Linux] 디렉토리 삭제 방법, rmdir 명령어 사용 방법 (0) | 2022.12.26 |
---|---|
[Linux] 디렉토리 생성 방법, mkdir 명령어 사용방법 (0) | 2022.12.25 |
[Linux] 리눅스 cd 사용법, 디렉토리 이동 방법 (0) | 2022.12.25 |
[Linux] bash 쉘 스크립트 if 조건문 사용법과 비교식 (0) | 2022.12.18 |
[Linux] bashrc의 PS1를 이용한 쉘프롬프트 환경 변경 (0) | 2022.12.17 |