我需要计算日志中的一些模式,我可以使用
grep aaa ./logs | wc -l
grep bbb ./logs | wc -l
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以在一行中完成所有事情?喜欢
cat ./logs | grep -c aaa | grep -c bbb #didn't work.
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用以下命令:
$ grep -oh -e aaa -e bbb ./logs | sort | uniq -c
Run Code Online (Sandbox Code Playgroud)
从man grep,您可以读到:
-o, --only-matching 仅打印匹配行的匹配(非空)部分,每个此类部分位于单独的输出行上。
另外,对于-h:
-h, --no-filename 禁止输出中的文件名前缀。当只有一个文件(或只有标准输入)要搜索时,这是默认设置。
用于-e匹配任一者。然后,使用 来对结果进行排序和计数uniq。
| 归档时间: |
|
| 查看次数: |
5976 次 |
| 最近记录: |