仅查看 SSH 中来自特定 IP 的 access_log 条目

仅查看 SSH 中来自特定 IP 的 access_log 条目

我有一个多年的大型 access_log,我需要从 SSH 查看某个 IP 地址的所有条目。格式为:

111.111.111.111-...

222.222.222.222-...

111.111.111.111-...

我如何才能仅查看 111.111.111.111 的日志条目?我正在运行 CentOS。

答案1

使用 Grep 查找是最简单的方法。

grep "^111\.111\.111\.111\b" access_log

答案2

我的义务gnu并行回答:

cat access_log | parallel --pipe -k grep ^111.111.111.111

请注意,这需要相对较新的 parallel 版本才能工作。这种方法的妙处在于它将文件拆分为多个块,并并行对这些块执行 grep,而不是对整个文件运行 grep。该-k选项可确保顺序保持正确。

对于非常大的文件,这可能比简单的 grep 快得多。无论如何,值得一试。

相关内容