티스토리 뷰
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 |