使用awk處理和分析日志文件是一種常見的文本處理方法。awk是一種強大的文本處理工具,可以對文本文件進行模式掃描和處理。以下是一些使用awk處理和分析日志文件的示例:
awk '/ERROR/' log_file.log
awk '$0 >= "2021-10-01" && $0 <= "2021-10-31"' log_file.log
awk '{count[$1]++} END {for (ip in count) print ip, count[ip]}' log_file.log
awk '{print $1, $2}' log_file.log | awk -F: '{hours[$1]++} END {for (hour in hours) print hour, hours[hour]}' log_file.log
awk '{count[$1]++} END {for (ip in count) print count[ip], ip} | sort -rn | head -10'
awk '{sum += $4} END {print sum}' log_file.log
awk '$9 == "404" {print}' log_file.log > error_404.log
awk '$0 >= "2021-10-01" && $0 <= "2021-10-01" && $9 == "200"' log_file.log
這些示例僅涉及awk的基本功能。awk提供了許多高級功能,如變量、循環、條件語句和內置函數,可以根據需要進行更復雜的文本處理和分析任務。