#01. LINUX 환경
CentOS7 로 테스트 하였음
참고 글 : https://eat-hokey.tistory.com/7
test.log 파일 중 test라는 단어가 들어가는 row 포함 아래 5줄을 같이 출력
grep -A 5 "test" test.log
test.log 파일 중 test라는 단어가 들어가는 row 포함 위 5줄을 같이 출력
grep -B 5 "test" test.log
test.log 파일 중 test라는 단어가 들어가는 row 포함 위, 아래 5줄을 같이 출력
grep -A 5 -B 5 "test" test.log
#02. UNIX 환경
AIX7.1 로 테스트 하였음
참고 글 : https://stackoverflow.com/questions/1685678/advanced-grep-unix
아래의 명령어를 실행한다.
grep 명령어 실행 전, 같이 출력할 line 갯수 지정
$ before=2 같이 출력할 윗줄 갯수
$ after=2 같이 출력할 아랫줄 갯수
before 지정
$ grep -n <pattern> <filename> | cut -d':' -f1 | xargs -n1 -I % awk "NR>=%-$before" <filename>
after 지정
$ grep -n <pattern> <filename> | cut -d':' -f1 | xargs -n1 -I % awk "NR<=%+$after" <filename>
before, after 함께 지정
$ grep -n <pattern> <filename> | cut -d':' -f1 | xargs -n1 -I % awk "NR<=%+$after && NR>=%-$before" <filename>
아래와 같이 별도 shell 스크립트에 정리해두면 편할 듯
shell 스크립트 실행 결과를 별도 text 파일에 기록하도록 하였다.
grep 실행 결과를 result.txt 파일에 기록
로그 점검 시에 활용하면 좋을 듯
before=2
after=2
grep -n 'RUNNING' m1.out | cut -d':' -f1 | xargs -n1 -I % awk "NR<=%+$after && NR>=%-$before" m1.out >> result.txt_$(date +"%Y-%m-%d")
grep.list 를 활용한 예시
before=2
after=2
grep -n -f grep.list m1.out | cut -d':' -f1 | xargs -n1 -I % awk "NR<=%+$after && NR>=%-$before" m1.out >> result.txt_$(date +"%Y-%m-%d")
'OS > LINUX, UNIX' 카테고리의 다른 글
[Linux] 커널 파라미터 - 네트워크 파라미터 튜닝 (0) | 2024.04.15 |
---|---|
특정 문자열을 포함하는 파일들을 find 하기 (ClassNotFoundError, NoClassDefFoundError, NoSuchMethodError 원인 파악) (0) | 2023.11.29 |
[UNIX/LINUX] 실행 중인 java 프로세스 확인 명령어 (0) | 2022.03.14 |
[Linux/Unix] tail -f 로 출력되는 내용을 별도 파일에 write 하기 (0) | 2022.03.09 |
Linux / Unix 환경에서 crontab 사용 시 경로 관련 유의사항 (0) | 2022.02.10 |