热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LINUX系统中使用AWK命令提取出Apache日志中的GET参数数据

使用awk提取apache日志的GET数据最近开始用awk写脚本...以下是处女座,发上来纪念下。呵呵。也省得以后要用找不到。分析要求1analysis-need.php的数据21数据的如下GET参数{pa1,pa2,pa3}的数值3在得到2的结果后,按如下格式输出{时间,pa1,pa2

使用awk提取apache日志的GET数据

最近开始用awk写脚本...以下是处女座,发上来纪念下。呵呵。也省得以后要用找不到。

 

分析要求
1 analysis-need.php 的数据
2 1 数据的如下GET参数{pa1,pa2,pa3}的数值
3 在得到2 的结果后,按如下格式输出
  {时间,pa1,pa2,pa3}
  注:pa1,pa2,pa3的顺序不一致

awk的脚本如下
awk  -F "?"  '/GET \/analysis-need.php/{print$1, $2}' awk_test.log |awk  -F "HTTP\/" '{print $1}'|awk '{gsub("&"," "); gsub("\"GET /analysis-need.php",""); gsub("\]",""); print}'| awk -F "\[" '{print $2}' | awk  '{ORS =","; print $1; i=3; get_p["doanalysis"]=1;   while(i >> ${ANALYSIS_HOME}cuid_action.log

 

说明
a 获取来自“analysis-need.php”的数据行,这里假定apache的日志文件为“awk_test.log ”
awk  -F "?"  '/GET \/b.php/{print$1, $2}' awk_test.log
-------------------------------------------------------
b 梳理a中得到的数据,删除GET的&标记,时间的右标记,便于分析(左标记保留)
awk  -F "HTTP\/" '{print $1}'|awk '{gsub("&"," "); gsub("\"GET /analysis-need.php",""); gsub("\]",""); print}'
-------------------------------------------------------
c 梳理c中得到的数据,删除时间的右标记(a,b,c三步可以合并,只是为了练手,懒了把)
 awk -F "\[" '{print $2}'
-------------------------------------------------------
d
下面是重点
awk  '{ORS =","; print $1; i=3; get_p["doanalysis"]=1;   while(i
思路如下:
1 建立记录分隔符",",方便作为csv数据处理,因为默认是“\n”。
2 使用NF,对每一个 "key=value"的记录段进行分析
3 将分析出的key和value使用awk的数组方式保存(key:get的参数名字;value:get的参数的值)
4 根据分析要求打印符合条件的key的value----这步以后可以按照分析的要求随时增加
5 导出


完毕。



推荐阅读
  • 最适合初学者的编程语言
    本文探讨了适合编程新手的最佳语言选择,包括Python、JavaScript等易于上手且功能强大的语言,以及如何通过有效的学习方法提高编程技能。 ... [详细]
  • AI技术助力外卖配送,饿了么与阿里云合作解决骑手压力
    通过引入阿里云的人工智能技术,饿了么正逐步改善外卖配送过程中的不合理安排,减轻骑手的工作压力。 ... [详细]
  • Awk是一款功能强大的文本分析与处理工具,尤其在数据解析和报告生成方面表现突出。它通过读取由换行符分隔的记录,并按照指定的字段分隔符来划分和处理这些记录,从而实现复杂的数据操作。 ... [详细]
  • 本文详细解析了‘廮’字在《新华字典》中的读音、笔画、含义及其在历史地名中的使用情况。 ... [详细]
  • 本文将指导您如何在Windows 7操作系统中轻松调整屏幕亮度,以达到节能和护眼的效果。 ... [详细]
  • 本文介绍了如何在 Oracle 数据库中查询重复数据,并提供了多种方法来筛选和删除重复记录,包括基于单个字段和多个字段的重复数据处理。 ... [详细]
  • 本文综述了沙尘天气的气象条件,特别关注北京地区的沙尘污染特征,探讨了沙尘期间的气溶胶光学厚度变化、大颗粒物浓度上升以及冷锋作为重要起沙条件的作用。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 本文详细探讨了能力模型(Competency Model)的概念及其在人力资源管理中的应用,涵盖职位体系设计、薪酬激励策略及绩效管理等方面。通过深入分析冰山模型的核心构成,以及不同类型人才的关键素质,旨在为企业提供科学的人才管理和发展的指导。 ... [详细]
  • 本文提供了处理WordPress网站中出现过多重定向问题的方法,包括检查DNS配置、安装SSL证书以及解决数据库连接错误等步骤。 ... [详细]
  • 解决ADODB连接Access时出现80004005错误的方法
    本文详细介绍了如何解决在使用ADODB连接Access数据库时遇到的80004005错误,包括错误原因分析和具体的解决步骤。 ... [详细]
  • 本文探讨了一种常见的C++面试题目——实现自己的String类。通过此过程,不仅能够检验开发者对C++基础知识的掌握程度,还能加深对其高级特性的理解。文章详细介绍了如何实现基本的功能,如构造函数、析构函数、拷贝构造函数及赋值运算符重载等。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 本文对宋代著名诗人吕渭老的作品《情久长》进行了细致的翻译和赏析,深入探讨了诗中蕴含的情感与艺术特色。 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
author-avatar
李老鱼儿_654
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有