Linux

僅在 SSH 中查看來自某個 IP 的 access_log 條目

  • March 12, 2011

我有一個大的多年 access_log,我需要從 SSH 查看某個 IP 地址的所有條目。格式為:

111.111.111.111 - …

222.222.222.222 - …

111.111.111.111 - …

如何僅查看 111.111.111.111 的日誌條目?我正在執行 CentOS。

Grep 是最簡單的方法。

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

我的強制性gnu 並行答案:

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

請注意,這需要相對較新的並行版本才能工作。這種方法的酷之處在於它將文件分成多個塊,並在這些塊上並行執行 grep,而不是在整個文件上執行 grep。該-k選項可確保排序保持正確。

對於一個非常大的文件,它可能比簡單的 grep 快很多。無論如何都要嘗試一下。

引用自:https://serverfault.com/questions/246522