linux - 如何列出响应时间大于 6000 毫秒的所有日志
问题描述
[pid: 28785|app: 0|req: 2291/4303] 192.168.115.161 () {38 vars in 1198 bytes} [Sun Aug 26 12:43:42 2018] GET /v1/posts/ => generated 62220 bytes in 1744 msecs (HTTP/1.1 200) 9 headers in 380 bytes (1 switches on core 3)
我正在使用“grep”来搜索日志。
grep '[6-9]{4,} msecs' /var/log/wsgi/wsgi.log
请帮我过滤所有响应时间大于 6 秒的日志。
谢谢
解决方案
不要尝试使用正则表达式进行数字比较,请使用理解数字的工具,例如 awk。如果这不是您所需要的全部:
awk '$24>6000' file
例如:
$ cat file
[pid: 28785|app: 0|req: 2291/4303] 192.168.115.161 () {38 vars in 1198 bytes} [Sun Aug 26 12:43:42 2018] GET /v1/posts/ => generated 62220 bytes in 1744 msecs (HTTP/1.1 200) 9 headers in 380 bytes (1 switches on core 3)
[pid: 28785|app: 0|req: 2291/4303] 192.168.115.161 () {38 vars in 1198 bytes} [Sun Aug 26 12:43:42 2018] GET /v1/posts/ => generated 62220 bytes in 5744 msecs (HTTP/1.1 200) 9 headers in 380 bytes (1 switches on core 3)
[pid: 28785|app: 0|req: 2291/4303] 192.168.115.161 () {38 vars in 1198 bytes} [Sun Aug 26 12:43:42 2018] GET /v1/posts/ => generated 62220 bytes in 6744 msecs (HTTP/1.1 200) 9 headers in 380 bytes (1 switches on core 3)
$ awk '$24>6000' file
[pid: 28785|app: 0|req: 2291/4303] 192.168.115.161 () {38 vars in 1198 bytes} [Sun Aug 26 12:43:42 2018] GET /v1/posts/ => generated 62220 bytes in 6744 msecs (HTTP/1.1 200) 9 headers in 380 bytes (1 switches on core 3)
然后编辑您的问题,以提供一个简明、可测试的样本输入和预期输出的最小、完整和可验证的示例。
推荐阅读
- python - 使用python(SpaCy)中的for循环迭代列表中的列表中的标记
- image - 使用 vbscript 获取网页上具有特定 SRC 值的所有图像
- css - 消除Navbar 和 Navbar.Header React Bootstrap 之间
- c - C 提示用户按回车键并一键退出
- java - 如何使用 jpa 存储库获得多个平均值(spring boot)
- java - Gradle Android Studio App 为 Heroku 编写 procfile
- c# - 迁移到 asp.net 核心时用 taghelper 替换 @helper
- c# - C# 使用 Parallel For 处理批量数据库查询
- python - Docker 烧瓶 - jinja2.exceptions.TemplateNotFound: index.html
- r - 将格式中的日期(2018 年 10 月 12 日)转换为 R 中的日期