本教程通过5个常见的网站日志分析场景,对比展示了人工编写的Shell脚本与ChatGPT生成的脚本。你可以借此机会验证ChatGPT的代码能力,同时加深对Shell日志分析技巧的理解。每个场景均包含具体需求、人工答案、ChatGPT答案,并附有小提示和常见问题,帮助你在实际运维中快速应用。
场景一:通过Shell分析网站日志,查看有多少个IP访问?
需求:统计日志文件中所有不同的IP地址数量,即有多少个独立IP访问了网站。
人工答案
awk '{print $1}' log_file|sort|uniq|wc -l
ChatGPT答案
以下是一个简单的分析网站访问日志并统计IP数量的脚本:
#!/bin/bash
# 设置日志文件名和路径
log_file="/var/log/nginx/access.log"
# 从访问日志获取所有的IP地址
ips=$(awk '{print $1}' "$log_file")
# 使用uniq命令统计不同的IP地址数量
ip_count=$(echo "$ips" | sort | uniq | wc -l)
# 输出结果
echo "There are $ip_count unique IP addresses in the access log."
使用方法:
1. 将脚本保存到一个文件中,例如`count_ips.sh`
2. 使用`chmod +x count_ips.sh`命令添加可执行权限
3. 在终端中运行`./count_ips.sh`来分析网站访问日志并统计IP数量
