Published 2022. 12. 14. 18:25

vim regexp
:$r /root/anaconda-ks.cfg 
:$r /var/log/dmesg
:$r /var/log/secure

 


https://inpa.tistory.com/entry/LINUX-%F0%9F%93%9A-%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D-%EA%B3%BC-grep-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%B3%B5%ED%95%98%EA%B8%B0-%ED%8C%A8%ED%84%B4-%EA%B2%80%EC%83%89-%ED%99%95%EC%9E%A5%EB%B8%8C%EB%9E%98%ED%82%B7

 

 

행의 첫 문자가 [ 로 시작하고, 바로 다음 \s(공백)이 4번 반복되는( \{4\} ), 다음은  문자열이 0개 이상 ( .*)  행 찾기
-> egrep '^\[\s{4}' regexp | more -10

빈 줄 찾기
->egrep '^$' regexp | more -10

괄호로 끝나는 행 찾기
-> egrep '\)$' regexp | more -10


행 마지막 문자열이 disabled) 로 끝나는 행 찾기
-> egrep 'disabled\)$' regexp

단어가 dis로 시작하는 단어를 포함한 행 찾기
->  egrep '\<dis' regexp | more -10

단어가 ed로 끝나는 단어를 포함한 행 찾기
->grep 'ed\>' regexp | more -10

단어의 시작을 se로 시작하고, 바로다음 문자 s가 두번 나오는 문자를 포함한 행 찾기
-> grep '\<ses{2}' regexp | more -10

s{1,2} : s가 1번이나 2번

s{2,}: 최소 2번 이상

한행에 254문자 이상인 행 찾기
-> egrep '.{254,}' regexp | more -10

** . 은 공백도 포함한다. 공백은 white character


한행에 250문자에서 255문자를 갖은 행 찾기
-> egrep '.{250,255}' regexp | more -10


--password 문자열이 있는 행 찾기
->  egrep '\-\-password' regexp | more -10

$가 들어 있는 행 찾기
-> egrep '\$' regexp | more -10

12월달 로그 만 찾기
-> egrep 'Dec' regexp | more -10

-> cat regexp | egrep 'Dec' | tee Dec.log | wc -l

11월 또는 12월 로그 찾기

->egrep '(Nov|Dec)' regexp | more -10

11월 또는 12월로 시작하지 않는  로그 찾기
-> egrep '^[^(Sep|Oct|Nov|Dec)]' regexp | more -10

-> egrep -v '^(Sep|Oct|Nov|Dec)' regexp | more -10


대소문자 구별하지 않고,11월 또는 12월로 시작하지 않는  로그 찾기
 -> egrep -iv '^(Nov|Dec)' regexp


21시에 발생된 로그 찾기

->  egrep '\s15:' regexp

16시에 발생한 로그를 최신 시간부터 출력
->  egrep '\s16\:' regexp | sort -r

단어가 disabled 또는 Disabled에 일치하는 행 찾기
-> egrep -w '[Dd]isabled' regexp | more -10

-> egrep -n '\<disabled\>|\<Disabled\>' regexp

점(.)숫자가 포함된 행 찾기 
-> egrep '\.[0-9]' regexp | more -10

행이 ssh2로 끝나는 행 찾기
-> egrep 'ssh2$' regexp | more -10

-> egrep 's{2}h2$' regexp

현재 작업 디렉터리안에 있는 파일중에서 내용에 ssh2가 들어 있는 파일명을 출력하기
-> egrep -l 


행의 마지막에 숫자가 1개 이상으로 끝나는 행 찾기
-> egrep '[0-9]+$

-> egrep '[[::digit::]]' 


행의 시작을 특수문자로 시작하는 행 찾기
-> egrep '^[^a-zA-Z0-9]' regexp

-> egrep '^[^[:alnum:]]' regexp

 

공백으로 시작하는 행 찾기
-> egrep '^\s' regexp | more -10

-> egrep -v '^\S' regexp


소문자로 시작하는 행 찾기
-> egrep '^[a-z]' regexp | more -10

-> egrep '^[^[:lower:]]' regexp

대문자로 시작하는 행 찾기
-> egrep '^[A-Z]' regexp | more -10

-> egrep '^[^[:upper:]]' regexp

sshd[숫자] 행 찾기
-> grep 'ssh[0-9]' regexp | more -10

IP주소가 192.168. 이 있는 행 찾기
-> grep '192\.168\.' regexp | more -10

-> egrep '192\.168\.[[:digit:]]+\.[[:digit:]]+\>' regexp | more -10   IP주소 찾을때


192.168, 192.16, 192.0 … 이 포함된 행 찾기

-> egrep '\<192\.(168|16|0)\.[0-9]+\.[0-9]+\>' regexpc

 

 

 

 

 

[LINUX] 📚 정규표현식 과 grep 명령어 정복하기 [패턴 검색] [확장브래킷]

파일/디렉토리 패턴 검색 리눅스를 사용하다 보면 로그파일이나, 텍스트 파일에서 특정 문자열을 찾을 때, 혹은 디렉터리 내에서 특정 문자를 포함하는 파일을 찾을 때와 같은 경우가 생긴다.

inpa.tistory.com

 

'IT > Linux' 카테고리의 다른 글

[Linux] AWK  (0) 2022.12.16
[Linux] SED 명령어 사용법  (0) 2022.12.15
2 -  (0) 2022.12.13
Docker2  (0) 2022.12.08
Kali 설정  (0) 2022.12.02
복사했습니다!