awk 검색 문자열 및 한 줄의 총계

awk 검색 문자열 및 한 줄의 총계

아래에 주어진 예에 대한 로그가 있습니다. SUCCESS로그 파일에서 문자열을 찾고 총계를 계산하고 있습니다.

$ cat ansible.log
lnx-host01.tin.com | SUCCESS => {"changed": false, "ping": "pong"}
lnx-host02.tin.com | SUCCESS => {"changed": false, "ping": "pong"}

이는 간단하고 간단한 접근 방식이지만 명령 awk에 전달되지 않고 줄 자체로 수행 할 수 있는지 궁금했습니다 .wc

$ awk '/SUCCESS/{print $0}'  ansible.log | wc -l
66

OR

$ awk '/SUCCESS/' ansible.log| wc -l
66

답변1

여기있어:

awk 'BEGIN { count=0 } /SUCCESS/ { count++ } END { print count }' ansible.log

물론 이것은 또한 작동합니다:

grep -c SUCCESS ansible.log

관련 정보