반응형
grep

grep 명령은 텍스트를 검색하고 필터링하는 데 사용되는 Linux의 강력하고 다양한 도구입니다. "Global Regular Expression Print"의 약자입니다. 정규식을 활용하여 grep은 파일 또는 텍스트 스트림 내에서 특정 패턴을 검색하고 일치하는 항목이 포함된 줄을 인쇄할 수 있습니다.

 

특정 패턴을 필터링해 출력해주기 때문에 트러블 슈팅과 같은 작업에서 많이 사용된다고 합니다. 실무에서는 엄청난 개수의 컨테이너를 활용하거나, 컨테이너가 아니더라도 많은 수의 작업을 진행하게 되고, 여기서 뭐가 문제인지 찾는 것은 굉장히 힘들고 고된 작업이니다. 때문에 그나마 조금 더 수월한 작업을 위해 grep명령어를 사용해 주는 것 입니다.

간단하지만 정말정말 중요합니다! 간단하지만 꼭 알아주셨으면 좋겠습니다.


명령어와 옵션

다음은 grep 명령 구문의 기본 개요입니다.

grep [options] 'pattern' [file]
  • options: grep 명령의 동작을 수정하는 선택적 플래그입니다.
  • pattern: 일반 문자열 또는 정규식일 수 있는 검색 패턴으로 작은따옴표 또는 큰따옴표로 묶습니다.
  • file: 검색할 파일입니다. 적어주지 않으면 grep은 표준 입력(stdin)을 검색합니다.

 

옵션_

-i: 대소문자를 구분하지 않고 검색합니다.
-v: 검색을 반전하여 패턴과 일치하지 않는 줄을 반환합니다.
-n: 출력에서 ​​일치하는 줄의 줄 번호를 표시합니다.
-r 또는 -R: 디렉토리를 통해 재귀 검색을 수행합니다.
-E: 확장 정규 표현식 사용을 활성화합니다.
-c: 실제 줄 대신 일치하는 줄 수를 인쇄합니다.
-l: 실제 일치하는 줄이 아니라 일치하는 파일의 이름만 인쇄합니다.
-e: 검색할 여러 패턴을 지정할 수 있습니다.


사용 예

"log.txt"라는 파일에서 "error"라는 단어를 검색합니다.

grep 'error' log.txt


"log.txt"에서 "error"에 대한 대소문자를 구분하지 않는 검색:

grep -i 'error' log.txt


"log.txt"에서 "success"라는 단어가 포함되지 않은 줄을 찾습니다.

grep -v 'success' log.txt


"log.txt"에서 "error"라는 단어의 발생 횟수를 계산합니다.

grep -c 'error' log.txt


"log.txt"에서 "error" 또는 "warning"이 포함된 줄을 검색합니다.

grep -E 'error|warning' log.txt


"logs" 디렉터리의 모든 파일에서 "error"를 재귀적으로 검색합니다.

grep -r 'error' logs/

 

cat을 사용해 파일의 내용을 출력하는데 이 때 내용을 grep 조건에 맞춰 검색합니다.

cat someting.txt | grep someword
반응형