我有类似于下面给出的示例的日志,我只是SUCCESS
在日志文件中查找一个字符串并计算总数。
$ cat ansible.log
lnx-host01.tin.com | SUCCESS => {"changed": false, "ping": "pong"}
lnx-host02.tin.com | SUCCESS => {"changed": false, "ping": "pong"}
Run Code Online (Sandbox Code Playgroud)
这是一种简单明了的方法,但我想知道是否可以将awk
其作为单行代码来完成,而无需传递给wc
命令。
$ awk '/SUCCESS/{print $0}' ansible.log | wc -l
66
OR
$ awk '/SUCCESS/' ansible.log| wc -l
66
Run Code Online (Sandbox Code Playgroud)
这里是:
awk 'BEGIN { count=0 } /SUCCESS/ { count++ } END { print count }' ansible.log
Run Code Online (Sandbox Code Playgroud)
当然,这也有效:
grep -c SUCCESS ansible.log
Run Code Online (Sandbox Code Playgroud)