티스토리 뷰

log파일에서 중복 데이터를 찾아야 하는 경우가 생겼을 때 아래의 명령어를 통하면 쉽게 찾을 수 있다. 물론 로그가 특정 키값을 갖도로 남아야 한다. 

우선 로그파일을 모두 보면 명령어에
cat test.log

특정 로그를 찾기 위한 필터를 한다. grep의 -a 는 해당 파일이 binary 형태일 경우 넣어준다.
cat test.log | grep -a "SEND DATA"

그리고 이 로그 중에 찾아야 추출해야 하는 부분을 awk 명령어를 통해서 빼낸다. 여기서 sub는 awk로 추출한 문자열 중 필요없는 문자를 빈 값인 ""로 치환하여 필요한 단어만 추출하는 기능을 한다. 필요한 만큼 sub( "aa", "");를 반복하여 사용해서 필요없는 문자를 지울 수 있다.
cat test.log | grep -a "SEND DATA" | awk '{sub("test1", ""); sub("test2", ""); sub("test3", "");  print $10}'

그리고 여기서 추가로 단어 수를 세고 싶으면 맨뒤에 wc -l 을 붙이고 정렬을 하고 중복 값을 삭제하고 싶을 경우 sort -u 를 붙이면 된다.

'IT > 기타' 카테고리의 다른 글

bitbucket pipelines 사용하기  (0) 2018.12.28
PostgreSQL Partitioning  (0) 2018.09.12
Docker에 어플리케이션 올리기  (0) 2017.03.16
Docker 설치  (0) 2017.03.16
Redis redis.conf  (0) 2017.02.24
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
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
글 보관함