나는 현재 그 명령으로 아파치 로그를 파싱하고있다.
tail -f /opt/apache/logs/access/gvh-access_log.1365638400 |
grep specific.stuff. | awk '{print $12}' | cut -d/ -f3 > ~/logs
출력은 도메인 목록입니다.
www.domain1.com
www.domain1.com
www.domain2.com
www.domain3.com
www.domain1.com
다른 터미널에서 다음 명령을 실행합니다.
watch -n 10 'cat ~/logs | sort | uniq -c | sort -n | tail -50'
출력은 다음과 같습니다.
1023 www.domain2.com
2001 www.domain3.com
12393 www.domain1.com
나는 준 실시간 아파치 통계를 모니터하기 위해 이것을 사용한다. 문제는 logs
매우 빠르게 커집니다. 다른 목적으로는 로그가 필요하지 않습니다. uniq -c
.
내 질문은 : 임시 파일 사용을 피하는 방법이 있습니까? 내 자신의 카운터를 선택 언어로 직접 핸드 롤하지 않으려 고합니다. awk
마법.
내가 사용해야하기 때문에 sort
스트림에서 정렬은 의미가 없으므로 (비록 uniq가 아니지만) 임시 파일을 사용해야합니다.