直接用Ctrl+F提取IP总漏行,因默认不匹配整行;需用正则^(\d{1,3}\.){3}\d{1,3}并启用.*模式+Ctrl+Enter全选,再Ctrl+L选整行;跨文件搜索要精确填写Where路径,大日志须抽样处理。

为什么直接用 Ctrl+F 提取 IP 总是漏行?
因为默认查找只匹配关键词本身,不是整行。你输 ^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} 却没加 ^ 和 $,Sublime 就只高亮 IP 段,不会选中整条日志行——后续复制、统计全错。
必须写成:^(\d{1,3}\.){3}\d{1,3}(IPv4 行首匹配),并勾选右下角 .* 正则模式。再按 Ctrl+Enter(Find All),立刻所有含合法 IP 的行都被定位。
- 别信“自动识别 IP”,Sublime 不解析字段,只做字符串匹配
- 如果日志含
X-Forwarded-For,真实 IP 在中间某列,得先用正则"X-Forwarded-For:\s*([^"]+)"捕获,再提取第一段 - 匹配后务必按
Ctrl+L(Windows/Linux)选中整行,否则复制出来只有 IP 字符,没有时间、状态码等上下文
Ctrl+Shift+F 批量跨文件提取时,Where 路径怎么填才不翻车?
填错 Where 是最常见失败原因:留空 = 只搜当前标签页;填 ./ = 扫整个项目目录,可能卡死或混入无关文件。
正确做法是限定范围,比如 Apache 日志通常在 /var/log/apache2/ 或 ./logs/,就填:/var/log/apache2/*.log 或 ./logs/access_*.log。路径支持通配符,但不支持 ** 递归(Sublime 默认不启用)。
- 关键词含
.、[、?必须转义,如查error.log要写error\.log - 结果页右键 →
Copy All,粘贴后会带路径前缀(如/var/log/apache2/access.log:123:192.168.1.100 ...),用正则替换^[^:]+:\d+:\s*→ 空,就能剥离 - 单次处理超过 50MB 日志易卡顿,建议先用
head -n 10000 access.log > sample.log抽样验证正则逻辑
提取后怎么快速统计 Top K IP?不用插件也能做
Sublime 本身不提供计数功能,但配合系统命令可秒出结果。把提取出的纯 IP 列表(每行一个)保存为 ips.txt,终端里跑:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
sort ips.txt | uniq -c | sort -nr | head -20
这比在 Sublime 里手动去重快得多,且避免了插件 Filter Lines 的静默失败风险(它依赖 Find All 状态,漏点一下就白干)。
- 如果 IP 含 IPv6 或混有代理头(如
X-Forwarded-For: 10.0.1.5, 2001:db8::1),先用正则^([0-9a-fA-F:.]+)提取第一个地址,再进统计流程 - 想排除内网 IP(如
10.0.0.0/8、192.168.0.0/16),加grep -vE "^(10|192\.168|172\.(1[6-9]|2[0-9]|3[0-1])\.)"过滤 - 注意:Sublime 复制时可能带 BOM 或换行符异常,
file ips.txt查编码,必要时用dos2unix ips.txt清理
大日志打开就卡,高亮反而拖慢分析速度
超过 100MB 的 access.log 文件,开 Sublime 就卡,不是配置问题,是设计限制。它不建索引,所有高亮、查找都实时扫描。
真要查,先关三样:View → Syntax → Plain Text(关高亮)、View → Word Wrap(关自动换行)、Preferences → Settings 里加 "index_files": false。但这只是“能打开”,不代表适合分析。
- 真正高效的做法是:用
tail -n 10000 access.log | grep -E '^[0-9]+' > tail_sample.log截最新样本,再丢进 Sublime 处理 - 别信 Log Highlighter 类插件——它们的正则常误匹配路径里的
error,或把[当语法错误标黄,干扰判断 - 如果必须看原始全量,用
less +G /var/log/apache2/access.log(末尾起)、/192\.168\.1\.100搜索,比 Sublime 更稳
IP 统计真正的瓶颈不在编辑器,而在日志格式是否统一、有没有反向代理干扰、以及你是否跳过了 sort | uniq -c 这类底层工具直接硬刚可视化——那才是最容易被忽略的效率断点。









