2.log

grep 옵션 정리 본문

HACKING/Bandit+

grep 옵션 정리

2.log 2023. 3. 21. 22:34
728x90
반응형

 

grep이란?

특정 문자열을 파일에서 찾아주는 명령어

 

사용법

$ grep [옵션] [정규표현식] [대상파일]

 

 

grep 종류

명령어 설명 정규표현식 사용
grep 다중 패턴 검색 o
egrep 정규표현식 패턴으로 검색 o
fgrep 문자열 패터으로 검색 x

> egrep, fgrep은 각각 grep 의 -E, -F 옵션 사용 결과와 같음

 

 

자주 사용하는 grep 옵션

옵션 동작설명
-b 검색 결과의 각 행 앞에 검색된 위치의 블록 번호 표시 / 검색 내용이 디스크 어느 곳에 위치했는지 알아낼 때 유용
-c 일치하는 행의 수 출력
-h 파일 이름 출력하지 않음
-i 대소문자 구분하지 않음 
-I (대문자 i) 대소문자 구분 
-l (소문자 L) 패턴이 포함된 파일의 이름만 출력
-n 패턴이 포함된 행 번호 함께 출력
-s 에러 메시지 외에는 출력하지 않음
-v 패턴과 일치하지 않는 행만 출력
-w 단어와 일치하는 행만 출력
-x 라인과 일치하는 행만 출력
-r 하위 디렉토리 포함한 모든 파일에서 검색
-m 숫자 최대로 표시될 수 있는 결과를 제한함
-E 찾을 패턴을 정규 표현식으로 찾음
-F 찾을 패턴을 문자열로 찾음

 

 

grep에서 사용하는 정규표현식 메타문자

메타문자 기능 예시  
 ^ 행의 시작 지시자 '^test' test 로 시작하는 모든 행과 대응
 $ 행의 끝 지시자 'test$' test 로 끝나는 모든 행과 대응
 . 하나의 문자와 대응 't.s.' 총 4개의 문자로 이루어진 문자열 검색하며, 첫번째는 't' 세번째는 's'인 문자열을 모두 대응
 * 선행 문자와 같은 문자 대응 'test*' test로 시작되는 모든 문자 대응
 [ ] [ ] 사이 문자 집항 중 하나와 대응 '[Tt]est' 'test' or 'Test' 와 대응
 [^ ] 문자 집합에 속하지 않는 한 문자와 대응 '[^A-T]est' A와 T사이 범위에 포함되지 않는 한 문자와 est가 붙은 문자열만 검색
 \<  단어의 시작 지시자 '\<test' test로 시작하는 단어 포함하는 행과 대응
 /> 단어의 끝 지시자 'test/>' test로 끝나는 단어 포함하는 행과 대응
 \(..\) 태그 붙임 (지정된 부분을 태그 1에 저장하고, 이후 태그 값 참고 시 \1을 씀.
왼쪽에서 시자갛여 총 9개 사용가능)
'\(tes\)ing' tes 가 레지스터1에 저장되고, 나중에 \1로 참고 가능
 x\{m\} 문자 x를 m 번 반복 't\{5\}' t가 5회 연속으로 나오는 모든 행 대응
 x\{m,\} 적어도 m 번 반복 't\{5,\}' t가 최소 5회 반복되는 모든 행과 대응
 x\{m,n\} m회 이상 n회 이하 반복 't\{5,10\}' t가 5~10회 사이의 횟수로 연속으로 나오는 문자열과 대응

 

 

 

 

 

 

출처

https://coding-factory.tistory.com/802

 

[Linux] 리눅스 grep 명령어 사용법 (파일 내 특정 문자열 찾기)

리눅스 find 명령어는 로그파일이나, 텍스트 파일에서 특정 문자열을 찾을 때 사용하며 tail 명령어나 find 명령어등 다양한 명령어들과 함께 사용하여 로그 파일에서 실시간으로 특정 문자열을 찾

coding-factory.tistory.com

 

728x90
반응형
Comments