grep/tail (+awk/sed)

호밀빵 굽는 쿼카·2023년 3월 16일
0

NHN Cloud

목록 보기
16/16

(작성중) 필요할때 볼려고 정리한 내용

옵션

-A num, --after-context=num: 특정 문자열로부터 num 이후의 라인까지 출력
-B num, --before-context=num: 특정 문자열로부터 num 이전의 라인까지 출력
-C num, --context=num: 특정 문자열로부터 num 이전,이후의 라인까지 출력 (-A num -B num 과 같다)
--colour, --color=[when]: 특정 문자열을 특정 색으로 표시 ([when] = never, always, auto)
-d action, --directories=action: 특정 디렉토리에서 특정 문자열 검색
-e pattern, --regexp=pattern: 여러 특정 문자열로 검색, 한 번에 2개 이상의 특정 문자열로 검색할 때 사용
-i, --ignore-case: 특정 문자열을 대소문자 구분 없이 검색
-v, --invert-match: 특정 문자열을 제외한 나머지 행을 검색
-w, --word-regexp: 다른 문자열이 포함되지 않은 특정 문자열'만' 검색, 특정 문자열을 하나의 단어로 취급
-c : 일치하는 행의 수를 출력한다.
-n : 포함된 행의 번호를 함께 출력한다.
-l : 패턴이 포함된 파일의 이름을 출력한다.
-w : 단어와 일치하는 행만 출력한다.
-x : 라인과 일치하는 행만 출력한다.
-r : 하위 디렉토리를 포함한 모든 파일에서 검색한다.
-m 숫자 : 최대로 표시될 수 있는 결과를 제한한다.
-E : 찾을 패턴을 정규 표현식으로 찾는다.
-F : 찾을 패턴을 문자열로 찾는다.
-s : 에러메세지 외이는 출력하지 않는다.

문자열로 찾기

# 특정 파일에서 'error' 문자열 찾기
grep 'error' 파일명

# 여러개의 파일에서 'error' 문자열 찾기
grep 'error' 파일명1 파일명2

# 현재 디렉토리내에 있는 모든 파일에서 'error' 문자열 찾기
grep 'error' *

# 특정 확장자를 가진 모든 파일에서 'error' 문자열 찾기
grep 'error' *.log

예제

grep -n10 -i 'rollback'
grep -n10 '11/28/22 17:13' *
grep -A 10 'Q1]'
tail -n1000 * | grep -n10 '11/28/22 17:13' *  | grep -n3 'ERROR'

추가) tail 옵션

-f : tail을 종료하지 않고 파일의 업데이트 내용을 실시간으로 계속 출력한다.
-n (라인 수) : 파일의 마지막줄부터 지정한 라인수까지의 내용을 출력한다.
-c (바이트 수) : 파일의 마지막부터 지정한 바이트만큼의 내용을 출력한다.
-q : 파일의 헤더와 상단의 파일 이름을 출력하지 않고 내용만 출력한다.
-v : 출력하기전에 파일의 헤더와 이름 먼저 출력한 후 파일의 내용을 출력한다.

추가) awk 관련

추가) sed 관련

sed 옵션 정리

sed 's/[^0-9]//g'

s->substitute(대체)
g->global(전체)
[^x] = a character but x(x를 제외한 문자하나)
[x-y] = x ~ y (x에서 y까지의 문자하나)

0~9까지의 문자를 제외한 문자들은 공백으로 대치하라..
물론 한줄에 여러번 나올 경우에도

sed -i '5i\
http://slog2.egloos.com/v/3689816
https://sevendollars.tistory.com/100

profile
열심히 굽고 있어요🍞

0개의 댓글