반응형
옵션
-o 매칭되는 문자열만 출력하는 걸 쓰려했는데 awk로 해결했었음.
-E 정규식으로 검색하려면 이걸로 해야됨.
grep [OPTION...] PATTERN [FILE...]
-E : PATTERN을 확장 정규 표현식(Extended RegEx)으로 해석.
-F : PATTERN을 정규 표현식(RegEx)이 아닌 일반 문자열로 해석.
-G : PATTERN을 기본 정규 표현식(Basic RegEx)으로 해석.
-P : PATTERN을 Perl 정규 표현식(Perl RegEx)으로 해석.
-e : 매칭을 위한 PATTERN 전달.
-f : 파일에 기록된 내용을 PATTERN으로 사용.
-i : 대/소문자 무시.
-v : 매칭되는 PATTERN이 존재하지 않는 라인 선택.
-w : 단어(word) 단위로 매칭.
-x : 라인(line) 단위로 매칭.
-z : 라인을 newline(\n)이 아닌 NULL(\0)로 구분.
-m : 최대 검색 결과 갯수 제한.
-b : 패턴이 매치된 각 라인(-o 사용 시 문자열)의 바이트 옵셋 출력.
-n : 검색 결과 출력 라인 앞에 라인 번호 출력.
-H : 검색 결과 출력 라인 앞에 파일 이름 표시.
-h : 검색 결과 출력 시, 파일 이름 무시.
-o : 매치되는 문자열만 표시.
-q : 검색 결과 출력하지 않음.
-a : 바이너리 파일을 텍스트 파일처럼 처리.
-I : 바이너리 파일은 검사하지 않음.
-d : 디렉토리 처리 방식 지정. (read, recurse, skip)
-D : 장치 파일 처리 방식 지정. (read, skip)
-r : 하위 디렉토리 탐색.
-R : 심볼릭 링크를 따라가며 모든 하위 디렉토리 탐색.
-L : PATTERN이 존재하지 않는 파일 이름만 표시.
-l : 패턴이 존재하는 파일 이름만 표시.
-c : 파일 당 패턴이 일치하는 라인의 갯수 출력.
리눅스 grep 명령어 사용법. (Linux grep command) - 리눅스 문자열 검색 :: 개발자를 위한 레시피 (tistory.com) 참조
참고 사이트
리눅스 grep 명령어 사용법. (Linux grep command) - 리눅스 문자열 검색 :: 개발자를 위한 레시피 (tistory.com) 참조
[Linux] grep 명령어에서 AND, OR, NOT 조건 사용하기 (tistory.com)
예외 사항
grep명령어 사용시 'binary file matches' warning이 발생함.
grep명령어에 -I 옵션을 주면 제외하고 출력함.
-a 옵션은 binary파일도 텍스트로 보고 포함하여 출력함.
test@ykd2:~/Accesslog_sample/internal/internal_1$ echo $(grep 'GET' access.202209220000 | wc -l | cut -d ' ' -f 1)
grep: access.202209220000: binary file matches
657944
test@ykd2:~/Accesslog_sample/internal/internal_1$ echo $(grep -I 'GET' access.202209220000 | wc -l | cut -d ' ' -f 1)
657944
같은 정규식으로 grep으로 했을때와 awk 패턴으로 했을때 awk가 못잡는 부분이 있는것 같음.
반응형
'Infra Architecture > linux' 카테고리의 다른 글
[ Linux ] Shell Script 산술연산/조건문 (0) | 2023.01.07 |
---|---|
[ Shell Script ] awk 명령어 (0) | 2023.01.07 |
[ Linux ] 윈도우와 리눅스의 줄바꿈 차이 (0) | 2023.01.05 |
[ Linux ] 리눅스에서 16진수로 출력(hexdump) (0) | 2023.01.05 |
[ Linux ] Ubuntu 버전 확인 (0) | 2023.01.03 |