我已经设置了一些日志来跟踪用户行为。以下是我的日志文件中的示例行:
[INFO] User david@gmail.net DELETE /api/upitem/126926
如何获取用户名david@gmail.com
在行中的所有行,并且网址/api/upitem/
位于网址中?
的内容
`grep 'david@gmail.com' ./file.log | grep '\/api\/upitem\/ ./file.log1`
这将是进行日志搜索/分析的最佳方式吗?
答案 0 :(得分:2)
你最好使用awk,就像这样:
cat file.log | awk '{ if ($3=="david@gmail.net" && $5 ~ /api\/upitem/) print }'
答案 1 :(得分:2)
您可以使用启用了-P
参数的单个grep命令来执行此操作。
grep -P '^(?=.*\bdavid@gmail\.com\b)(?=.*/api/upitem/)' ./file.log