728x90
반응형
- 문자열을 찾는 방법에 대해 작성 합니다.
Grep 을 사용한 문자열 찾기
- 아래 테스트 로그를 이용해 문자열을 찾는 방법을 알아본다 .
- test.log 파일 내용
--- 0 Error in 17 cases - ._130_line_3729_case
--- 0 Warning in 18 cases - ._143_line_7455_case
--- 0 Error in 19 cases - ._147_line_7455_case
--- 0 fails in 17 cases - ._130_line_3729_case
--- 0 Warning in 18 cases - ._143_line_7455_case
--- 0 Info in 19 cases - ._147_line_7455_case
--- 0 Info in 19 cases - ._148_line_7455_case
--- 0 Info in 19 cases - ._149_line_7459_case
--- 0 Info in 19 cases - ._150_line_7459_case
--- 0 Info in 19 cases - ._151_line_7459_case
--- 0 Info in 19 cases - ._152_line_7459_case
--- 0 Warning in 18 cases - ._143_line_7455_case
--- 0 Error in 19 cases - ._147_line_7455_case
--- 0 fails in 17 cases - ._130_line_3729_case
--- 0 Warning in 18 cases - ._143_line_7455_case
--- 0 Info in 19 cases - ._147_line_7455_case
--- 0 Info in 19 cases - ._148_line_7455_case
--- 0 Info in 19 cases - ._149_line_7459_case
--- 0 Info in 19 cases - ._150_line_7459_case
--- 0 Info in 19 cases - ._151_line_7459_case
--- 0 Info in 19 cases - ._152_line_7459_case
대소문자 구분없이 문자열 라인 찾기
# test.log 파일 에서 Error 또는 Warning 문자를 포함한 라인을 출력 하는 예제이다.
grep -in -E "Error|Warning" test.log
위 예제에서 사용한 옵션은 아래와 같다.
- -i: 대소문자 구분 없이 검색
- -n: 라인 번호 출력
- -E: 확장된 정규 표현식 사용
- "Error|Warning": Error 또는 Warning 을 의미하는 정규 표현식 (둘 중 하나가 포함된 라인을 찾음)
- test.log: 검색할 파일명
찾은 문자열을 분리해서 특정 숫만 출력 하기
- 정규식 과 sed 사용
grep -o 'line_[0-9]\+_case' test.log | sed 's/[^0-9]*\([0-9]\+\)[^0-9]*/\1/g'
$ grep -o 'line_[0-9]\+_case' test.log | sed 's/[^0-9]*\([0-9]\+\)[^0-9]*/\1/g'
3729
7455
7455
3729
7455
7455
7455
7459
7459
7459
7459
3729
7455
7455
3729
7455
7455
7455
7459
7459
7459
7459
찾은 문자열을 중복 제거하고 정렬 하기
- 정규식 과 sed 사용 + sort (정렬) + uniq(중복 제거)
grep -o 'line_[0-9]\+_case' test.log | sed 's/[^0-9]*\([0-9]\+\)[^0-9]*/\1/g' | sort -n | uniq
$ grep -o 'line_[0-9]\+_case' test.log | sed 's/[^0-9]*\([0-9]\+\)[^0-9]*/\1/g' | sort -n | uniq
3729
7455
7459
3729
7455
7459
728x90
반응형
'06.OS > Linux' 카테고리의 다른 글
[Linux]Rocky Linux 설치 후 기본 셋팅 (Hostname,방화벽...) 변경 (0) | 2024.11.12 |
---|---|
[Rocky]Linux FileSystem Mount 정보 확인하기 (0) | 2024.11.09 |
[Linux]Curl 사용 방법 (1) | 2024.09.26 |
[Rocky] Rocky Linux 웹 콘솔 (0) | 2024.06.07 |
[Linux] Centos 7.9 Failed to load SELinux policy, freezing 에러 (0) | 2024.04.16 |