0

0

LinuxShell处理日志文件_批量分析技巧说明【教学】

冰川箭仙

冰川箭仙

发布时间:2025-12-24 23:01:23

|

365人浏览过

|

来源于php中文网

原创

Linux日志批量分析核心是熟练组合grep、awk、sed、sort、uniq、cut命令,依据日志结构特征高效筛选、统计、提取与去重,避免常见陷阱。

linuxshell处理日志文件_批量分析技巧说明【教学】

Linux Shell 处理日志文件的批量分析,核心在于“用对命令、串好流程、避开陷阱”。不需要写脚本也能高效完成,关键是掌握 grep、awk、sed、sort、uniq、cut 这几个命令的组合逻辑和常见日志结构特征。

按时间范围快速筛选日志行

多数日志(如 nginx、systemd、应用自定义日志)首字段是时间戳。直接用 awk 提取并比对,比逐行 grep 更稳:

  • 提取今天凌晨到现在的 Nginx 访问日志:
    awk -F'[' '$2 ~ /^$(date -d "today" +%d\/%b\/%Y):[0-9]{2}:[0-9]{2}/ {print}' /var/log/nginx/access.log
  • 更通用做法:先用 sed 提取含日期的行,再用 grep 精确匹配(例如只看 10 月 25 日):
    sed -n '/25\/Oct\/2024/p' app.log | grep 'ERROR\|WARN'

统计高频错误或接口调用

目标不是“看到错误”,而是“知道哪类错误最多、哪个路径最常出问题”:

  • 统计 HTTP 状态码分布(Nginx 日志第 9 字段):
    awk '{print $9}' access.log | sort | uniq -c | sort -nr
  • 提取并统计报错行中的关键词(如 Java 异常类名):
    grep 'Exception\|ERROR' app.log | awk -F':' '{print $NF}' | awk '{print $1}' | sort | uniq -c | sort -nr | head -10

提取关键字段做横向对比

日志里混着 IP、URL、响应时间、用户 ID 等信息,用 cutawk 定位后,可导出为简易表格用于排查:

viable
viable

基于GPT-4的AI非结构化数据分析平台

下载
  • 导出耗时超 2 秒的请求(假设第 10 字段是 $request_time):
    awk '$10 > 2 {print $1, $7, $10, $9}' access.log | column -t
  • 按 IP 统计请求数 + 最长响应时间:
    awk '$10 > 0 {ip[$1]++; max[$1] = ($10 > max[$1]) ? $10 : max[$1]} END {for (i in ip) print i, ip[i], max[i]}' access.log | sort -k2 -nr

合并多日志文件统一分析

滚动日志(如 app.log、app.log.1、app.log.2.gz)不能靠手动解压拼接:

  • 自动处理当前目录下所有相关日志(含 gzip):
    zcat app.log*gz 2>/dev/null; cat app.log app.log.1 2>/dev/null | awk '/POST \/api\/order/ && $9 ~ /^5../ {print $1, $7, $9}'
  • 避免重复分析:用 awk '!seen[$0]++' 去重(适用于误重复写入场景):
    zcat *.gz | cat - app.log | awk '!seen[$0]++' | grep 'OutOfMemoryError'

不复杂但容易忽略:日志字段分隔符是否一致、时间格式是否跨时区、gzip 文件权限是否可读。动手前先 head -3file 看一眼,省掉大半调试时间。

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

650

2023.06.15

java流程控制语句有哪些
java流程控制语句有哪些

java流程控制语句:1、if语句;2、if-else语句;3、switch语句;4、while循环;5、do-while循环;6、for循环;7、foreach循环;8、break语句;9、continue语句;10、return语句。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

453

2024.02.23

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

722

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

725

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

394

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

398

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

441

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

426

2023.08.02

苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

10

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 5.9万人学习

Git 教程
Git 教程

共21课时 | 2.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号