반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- tls프로토콜확인
- yum install java
- aws
- mysql executequery error
- Java 1.8
- java 여러개 버전
- java
- springboot
- xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)
- error
- OpenFeign
- java 1.8 11
- JUnit
- statement.executequery() cannot issue statements that do not produce result sets.
- parse
- java 버전 변경
- springboottest
- java 11
- java version
- 스프링부트테스트
- ssl프로토콜확인
- xcrun: error: invalid active developer path
- AWS CLI
- log error
- No tests found for given includes
- Medium
- easy
- LeetCode
- mac os git error
- ssl이란?
Archives
- Today
- Total
쩨이엠 개발 블로그
[linux] Binary file * matches 및 Grep option 사용법 본문
728x90
반응형
리눅스 명령어 중 grep을 사용했을 때 제대로 나오지 않고 위의 "Binary file {파일이름} matches" 이 뜰 때
$ grep 'api/v1/event' logs/application.log
Binary file logs/application.log matches
$ grep --binary-files=text 'api/v1/event' logs/application.log
2022-04-05_17:41:40.413 INFO [reactor-http-epoll-3] [com.test.ReactiveLoggingFilter:131] ::: [e75e01cb-1078737] Request: method=POST, path=/api/v1/event
2022-04-05_17:43:08.961 INFO [reactor-http-epoll-3] [com.test.ReactiveLoggingFilter:131] ::: [d7870b92-1079620] Request: method=POST, path=/api/v1/event
2022-04-05_17:45:42.556 INFO [reactor-http-epoll-2] [com.test.ReactiveLoggingFilter:131] ::: [7c44bead-1081130] Request: method=POST, path=/api/v1/event
--binary-files=text 혹은 -a를 추가하면 제대로 찾던 데이터들이 나오게 된다
리눅스 Grep 사용법 (grep --help 를 사용하면 옵션 등을 알 수 있다)
Usage: grep [OPTION]... PATTERN [FILE]...
PATTERN은 기본적으로 기본 정규식을 따른다
Example: grep -i 'hello world' menu.h main.c
리눅스 옵션은 총 4가지로 나눠진다
1. Regexp selection and interpretation ( 정규 표현식 선택 및 해설)
Regexp selection and interpretation: 정규 표현식 선택 및 해설
-E, --extended-regexp PATTERN을 확장 정규표현식으로 설정
-F, --fixed-strings PATTERN을 줄바꿈으로 구분된 고정문자열의 집합으로 설정
-G, --basic-regexp PATTERN을 기본정규식으로 설정 (default)
-P, --perl-regexp PATTERN을 Perl 정규식으로 설정
-e, --regexp=PATTERN PATTERN을 사용해 매칭한다
-f, --file=FILE File에서 PATTERN 가져오기
-i, --ignore-case 대소문자 무시
-w, --word-regexp 전체 단어가 PATTERN과 일치하도록 함
-x, --line-regexp 전체 라인이 PATTERN과 일치하도록 함
-z, --null-data 라인을 new Line이 아닌 0 byte로 설정
2. Miscellaneous ( 설정 정보)
Miscellaneous: 설정 정보
-s, --no-messages 오류메세지 미표시
-v, --invert-match 일치하지 않는 줄 선택
-V, --version 버전 정보를 표시하고 종료
--help 도움말 텍스트를 표시하고 종료
3. Output control ( 출력 제어 )
Output control: 출력 제어
-m, --max-count=NUM 최대 갯수 (NUM) 제한
-b, --byte-offset 바이트 오프셋을 함께 출력
-n, --line-number 아웃풋 라인의 줄넘버를 함께 표시
-H, --with-filename 검색 결과에 대한 파일 이름을 함께 표시
-h, --no-filename 검색 결과에 대한 파일 이름 무시
--label=LABEL 검색 결과 출력시 LABEL을 파일 이름(접두사)으로 표시
-o, --only-matching PATTERN과 매칭된 데이터만 표시
-q, --quiet, --silent 검색 결과를 출력하지 않음
--binary-files=TYPE 바이너리 타입을 'binary', 'text', 'without-match' 중 하나로 설정
-a, --text --binary-files=text 와 동일
-I --binary-files=without-match 와 동일
-d, --directories=ACTION 디렉토리 처리 방법 :'read', 'recurse','skip'
-D, --devices=ACTION 장치, FIFOs, 소켓 처리 방법 :'read' or 'skip'
-r, --recursive --directories=recurse와 동일
-R, --dereference-recursive
심볼릭 링크를 따름
--include=FILE_PATTERN
FILE_PATTERN과 일치하는 파일만 검색
--exclude=FILE_PATTERN
FILE_PATTERN과 일치하는 파일 및 디렉토리 제외하고 검색
--exclude-from=FILE FILE의 패턴과 일치하는 파일 제외하고 검색
--exclude-dir=PATTERN PATTERN과 일치하는 디렉토리 제외하고 검색
-L, --files-without-match 일치항목이 없는 파일 이름만 출력
-l, --files-with-matches 일치항목이 포함된 파일의 이름만 출력
-c, --count FILE당 일치하는 라인 갯수만 출력
-T, --initial-tab 탭 정렬
-Z, --null 파일 이름만 출력
4. Context control: 컨텍스트 제어
Context control: 컨텍스트 제어
-B, --before-context=NUM NUM라인 위의 데이터를 출력
-A, --after-context=NUM NUM라인 밑의 데이터를 출력
-C, --context=NUM NUM라인의 데이터 출력
-NUM --context=NUM와 동일
--group-separator=SEP SEP을 구분 기호로 사용
--no-group-separator 빈 문자열을 구분 기호로 사용
--color[=WHEN],
--colour[=WHEN] 일치하는 문자열을 강조한다
(WHEN은 'always', 'never', 'auto' 중 하나)
-U, --binary EOL에서 CR문자를 제거하지 않음 (MSDOS/Windows)
-u, --unix-byte-offsets CR 무시
(MSDOS/Windows)
5. 도움말
'egrep' means 'grep -E'. 'fgrep' means 'grep -F'.
'egrep'은 'grep -E'를 의미합니다. 'fgrep'은 'grep -F'를 의미한다.
Direct invocation as either 'egrep' or 'fgrep' is deprecated.
'egrep' 또는 'fgrep'과 같은 직접 호출은 더 이상 사용하지 않는다.
When FILE is -, read standard input.
FILE이 -이면 표준으로 읽는다.
With no FILE, read . if a command-line -r is given, - otherwise.
If fewer than two FILEs are given, assume -h.
FILE이 없으면 명령줄인 경우 읽기 -r이 주어지고
2개 미만의 FILE이 제공된 경우 -h로 가정한다.
Exit status is 0 if any line is selected, 1 otherwise;
if any error occurs and -q is not given, the exit status is 2.
라인이 선택되면 종료 상태는 0이고 그렇지 않으면 1.
오류가 발생하고 -q가 제공되지 않으면 종료 상태는 2이다.
728x90
반응형
'개발 > ETC' 카테고리의 다른 글
[mysql] DB Table 데이터 크기 확인하기 및 TABLES 필드 설명 (0) | 2023.05.03 |
---|---|
[ linux ] crontab 특정 유저로 실행하기 (0) | 2022.12.13 |
[MySQL] 파티션 추가 / 재구성 (0) | 2022.01.17 |
[ git ] repository 저장소 옮기기 (+ 커밋까지) (0) | 2021.03.31 |
[ Homebrew ] 권한 오류 Permission denied @ apply2files (0) | 2021.03.11 |
Comments