编写日志错误摘要脚本

ShellBeginner
立即练习

简介

有三个应用日志需要执行相同的简单检查:统计以 ERROR 开头的行,并为每个文件输出一条结果。与其手动重复执行命令,不如使用一个简短的循环,一次处理所有 .log 文件。

前面的引导实验已经逐步演示了如何构建这类循环。本挑战要求你编写一个小型、可重复使用的脚本,不需要额外复制文件、创建报告目录或处理错误情况。

创建错误摘要脚本

当前情况

/home/labex/project/log-automation/logs 目录中包含 api.loghealthy.logworker.log

任务范围

  • 创建 /home/labex/project/log-automation/process-logs.sh
  • 脚本的第一个参数是日志所在的目录。
  • 处理以 .log 结尾的文件。
  • 对每个文件,统计以 ERROR 开头的行数。
  • 按照 filename errors=count 格式输出一行结果。

目标

保留一个可执行脚本,运行 ./process-logs.sh logs 时能够输出正确的错误摘要。

验收标准

  • 脚本以 #!/bin/bash 开头,并且具有可执行权限。

  • ./process-logs.sh logs 应输出:

    api.log errors=1
    healthy.log errors=0
    worker.log errors=2
    

提示

哪个引导示例最接近这个任务?

复习使用 "$log_dir"/*.log 进行遍历的循环:它统计以 ^ERROR 开头的行,并输出文件名及其计数。

总结

你已将熟悉的日志计数循环整理成一个简短且可重复使用的 Bash 脚本。

✨ 查看解决方案并练习