我有一个多年的大型 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 快得多。无论如何,值得一试。