首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

apache日志分析脚本

Perl分析Apache/Nginx日志 (2009-6-22) http://www.lazysa.com/2009/05/480.html 功能简述: 统计出日志里一个多个页面总共访问的次数...最初程序使用Python编写,按行来统计,分别使用in(最慢)和index方法去查找,然后使用了正则匹配,程序运行时间从最初的1分50多秒优化到1分10秒左右,参考了qyb博客中提到的gc.disable...然后随意用了Perl写了一个,用了最土鳖的这样的按行分析,最后正则匹配,然后++,速度竟然在40-50秒之间,惊叹!后来经过shucho指点,在正则部分采用了预编译,效果那是相当惊人!...-nr|head -100 列出最最耗时的页面(超过60秒的)的以及对应页面发生次数 cat www.access.log |awk '($NF > 60 && $7~/\....php/){print $7}'|sort -n|uniq -c|sort -nr|head -100 列出传输时间超过 30 秒的文件 cat www.access.log

81130

【天枢系列 01】Linux行数统计:命令对决,谁才是王者?

-r -R:递归地搜索目录中的文件。 -n:显示匹配行的行号。 -l:仅显示包含匹配项的文件名,而不显示匹配的行。 -v:反转匹配,只显示不匹配的行。...-C NUM -NUM:显示匹配行及其前后各 NUM 行。...awk 可以从输入文件标准输入流中读取数据,然后根据用户指定的模式和动作来处理这些数据。...5.1 基本语法 awk 'pattern { action }' filename pattern:用于匹配行的条件模式。 { action }:在匹配到符合条件的行时执行的动作。...5.2 主要功能 数据提取和转换:awk 可以根据指定的模式从文本文件中提取数据,并且可以对这些数据进行转换、格式化计算。

14710
您找到你想要的搜索结果了吗?
是的
没有找到

Linux系统开发: linux下正则表达式

正则表达式应用非常广泛,存在于各种语言中:php perl Python 等。...示例: #grep 123* demo.c 123* 则表明匹配121234/1235等字符串,但是不能匹配123 在三剑客awk,sed,grep,egrep都是正则表达式,其他都是通配符 1.3...的正则表达式(Perl Regular Expression 又叫Perl RegEx 简称PREs) 1.3.1 基本的正则表达式 BREs EREs PREs 描述 实例 \ \ \ 转义符,将特殊字符进行转义...$ $ 匹配行尾,awk中,$则是匹配字符串的结尾 注意:^$表示匹配空白行 sh$匹配以sh结尾的行 . . ....BREs EREs PREs 描述 实例 [:alnum:] [:alnum:] [:alnum:] 匹配任意一个字母数字字符 [[:alnum:]]匹配所有带任意一个数字字母的行 [:alpha:

1.3K10

grep中使用d匹配数字不成功的原因

在很多文本编辑器其他工具里,正则表达式通常被用来检索和/替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。...的正则表达式(Perl Regular Expression 又叫 Perl RegEx 简称 PREs)  说明:只有掌握了正则表达式,才能全面地掌握 Linux 下的常用文本工具(例如:grep、...(gawk)正则表达式特点 1)Awk 文本工具支持:EREs awk 指令默认是使用 “EREs" 2)Awk 文本工具处理文本的特点 a. awk 处理的对象:文本文件 b. awk 处理操作...,例如'^dog'匹配以字符串dog开头的行(注意:awk 指令中,'^'则是匹配字符串的开始) ^ ^ ^ ^ $ 匹配行尾,例如:'^、dog$'匹配以字符串 dog 为结尾的行(注意:awk 指令中...) 不支持(同\{n,m\}) {n,m} {n,m} {n,m} x|y 匹配 x y,例如: 不支持'z|(food)' 能匹配 "z" "food";'(z|f)ood' 则匹配"zood"

3.8K10

Linux中使用正则表达式的命令

想要了解更多关于sed命令的使用方式,可以查看sed的手册:man sed ack命令 Ack是用Perl编写的快速且可移植的命令行工具。Ack被认为是grep的替代品,并以视觉吸引人的方式输出结果。...Ack命令在文件目录中搜索包含与搜索条件匹配的行。然后突出显示各行中的匹配字符串。...搜索工具非常智能,如果用户未提供文件目录,它会在当前目录和子目录中搜索。...在下面的示例中,没有提供文件目录,但是ack自动检测到了目录和子目录中匹配字符串的文件里面的行: [root@localhost ~]# ack -i ssh 想要了解更多关于ack命令的使用方式,可以查看...它可以在最短的时间内轻松搜索文件中的特定字符串: 安装方式(Centos7): [root@localhost ~]# yum -y install epel-release && yum makecache

53720

AWK基础教程

基本用法 一个AWK程序的组成非常简单,它的核心内容是:一个多个 "模式–动作" 语句序列。 "模式–动作" 序列用单引号包起来,动作放在花括号里,再传入输入文件即可。...所以AWK的工作原理就是按顺序匹配模式然后执行动作。 可以想象到AWK伪代码大概长这样,我猜的(*^_^*)。...AWK还提供了一些特殊的模式,比如 BEGIN 和 END。这两个模式不匹配任何输入行。 当 awk读取数据前,BEGIN 的语句开始执行,通常用于初始化。...AWK使用 "~" 符号表示字符串匹配,"!~" 符号表示不匹配。 所以我们可以在模式中判断一个字符串是否匹配一个正则表达式。...,1245160 65,本杰明·巴顿奇事,8.9,2008,大卫·芬奇 David Fincher,在时间之河里感受溺水之苦。

68750

awk:强大的文本分析工具

在上一期的文章sed:小工具大用处中小编为大家介绍了sed的使用方法,今天继续为大家介绍另一个非常常用的工具awk。祖国70周年生日在即,为了不给祖国拖后腿,抓紧时间最后再努力学习一把!...简单来说awk就是把文件逐行的读入,以空格tab为默认分隔符将每行切片,切开的部分再进行各种分析处理。...,-f调用脚本,-v定义变量; BEGIN 初始化代码块,在对每一行进行处理之前,初始化代码,主要是引用全局变量,设置FS分隔符 // 匹配代模块,可以是字符串正则表达式 {} 命令代模块,包含一条多条命令...; 多条命令使用分号分隔 END 结尾代码块,在对每一行进行处理之后再执行的代码块,主要是进行最终计算输出结尾摘要信息 01 数据内容选取 我们可以使用匹配模块搭配正则表达式选取行: 其中匹配内容里面可以使用...03 条件运算符 awk的命令间也可以使用条件运算符设置条件类型,使得命令选择性执行,常见的有大于>、小于=、小于等于<=、等于==、不等于!=、匹配~、不匹配!~。

1.5K20

Linux从入门到入土②(系统管理、正则表达式)

例如:vi、grep、awk、sed等用途:分析日志、简单的垃圾邮件过滤、软件(系统)配置等等正则表达式拥有不同的规范,POSIX规范,Perl规范,Python规范等,Shell中的grep、egrep...例如:[:alnum:] 匹配任意一个字母数字字符[:alpha:] 匹配任意一个字母字符(包括大小写字母)[:blank:] 空格与制表符(横向和纵向)[:digit:] 匹配任意一个数字字符[:lower...:] 匹配小写字母[:upper:] 匹配大写字母[:punct:] 匹配标点符号[:space:] 匹配一个包括换行符、回车等在内的所有空白符[:graph:] 匹配任何一个可以看得见的且可以打印的字符...-n--quiet--silent 取消默认sed的输出(因为sed默认是输出所有),常与sed内置命令p一起使用-V--version 显示版本信息。.../g’ regular.txtawk工具awk也是管道命令,==sed通常处理一行数据,awk处理一行中的每个字段,默认以空格tab键分隔==。

75710

《Linux与unix Shell编程指南》 总结

下面的find命令将删除/logs目录中访问时间在7日以前、含有数字后缀的admin.log文件。该命令只检查三位数字,所以相应日志文件的后缀不要超过999。...用横杠-来表示一个时间范围,例如你希望星期一至星期五运行某个作业,那么可以在星期域使用1-5来表示。 使用逗号“,” ,例如你希望星期一和星期四运行某个作业,只需要使用 1,4来表示。...如果系统崩溃挂起,从最后所显示的时间就可以一眼看出系统是什么时间停止工作的。...这里稍后的时间可能是指10min以后,也可能是指几天以后。如果你希望在一个月更长的时间以后运行,最好还是使用crontab文件。...-l 查询多文件时只输出包含匹配字符的文件名。 -n 显示匹配行及行号。 -s 不显示不存在匹配文本的错误信息。 -v 显示不包含匹配文本的所有行。

5.5K30

正则表达式“派别”简述

但是,我们在使用linux下的文本处理工具如awk、sed等时,正则表达式的语法貌似还不一样,在awk中能正常工作的正则,在sed中总是不起作用,这是为什么呢?...在接下来的时间里,一直到60年代的这二十年里,正则表示式在理论数学领略得到了长足的发展,Robert Constable为数学发烧友们写了一篇总结性文章The Role of Finite Automata...例如a{1,2},在ERE表示的是aaa,在BRE中表示的是a{1,2}这个字符串。为了能够在Linux下熟练使用文本处理工具,我们必须知道这些命令支持那种正则表达式。...] [:lower:] [:print:] [:punct:] [:space:] [:upper:] [:xdigit:] 在使用这些shorthand时有一个约束:必须在[]中使用,也就是说如果像匹配...Perl比较显诸特征之一是与sed与awk兼容,这造就了Perl成为第一个通用性脚本语言。 随着Perl的不断发展,其支持的正则表达式的功能也越来越强大。

47910

Linux 运维必备的 40 个命令总结,收好了~

-TERM mysqld kill -9 `cat /usr/local/apache2/logs/httpd.pid` 试试查杀进程PID 8、显示运行 3 级别开启的服务: ls /etc/...250) 26、可运行进程数目 vmwtat 1 5 列给出的是可运行进程的数目,检查其是否超过系统逻辑 CPU 的 4 倍 27、进程 top -id 1 观察是否有异常进程出现。...31、系统时间 date 检查系统时间是否正确。 32、打开文件数目 lsof | wc -l 检查打开文件总数是否过多。...0511-4405222 021-87888822 10.匹配腾讯QQ号:[1-9][0-9]{4,} 评注:腾讯QQ号从10000开始 11.匹配中国邮政编码:[1-9]\d{5}(?!...\d) 评注:中国邮政编码为6位数字 12.匹配×××:\d{15}|\d{18} 评注:中国的×××为15位18位 13.匹配ip地址:\d+\.\d+\.\d+\.

41620

刨根究底正则表达式之一——正则表达式简介

若你是对正则表达式没有任何概念的初学者,建议至少先阅读网上备受推崇的《正则表达式30分钟入门教程》,时间允许的话最好再阅读《正则表达式必知必会》(才130多页,写得非常基础,快的话一天可轻松读完)。...通配符匹配文件名中的单个字符,而*通配符匹配零个多个字符。像“data?....说某个正则表达式匹配某个字符串,通常是指这个字符串的全部一部分几部分分别符合或者说满足正则表达式所描述的字符串特征;也可以说是指这个字符串的全部一部分几部分分别符合或者说满足正则表达式所规定的匹配条件匹配规则...因此,Unix系统类Unix系统上的大部分工具,如grep、sed、awk等,均遵循该标准。遵循POSIX正则表达式规范的这些语言和工具中的正则引擎,往往习惯将它们称之为POSIX流派的正则引擎。...而本系列文章在介绍与Perl正则规范直接兼容(但除Perl外并非完全兼容)的语言正则库工具程序,比如Perl、PHP preg、PCRE库时,一般称之为Perl系;与之对应的还有间接兼容的Java系

1.1K40

一网打进Linux下那些查找命令

而updatedb一般是每天运行一次,所以当天的新文件是索引不到的。 如果有根用户权限,可以手动运行updatedb做个更新,然后再locate bwa。...再配合head就可以查看每个日志文件的内容,以方便查看使用过程中出现了哪些错误,如何增加提示修改画图程序。...-type f -size +100G可以获取大小超过100G的文件。 限制查找深度 只看当前目录2层子目录内的文件find . -maxdepth 2 -name *.log。...-w则表示作为一个单词匹配,即假如id中有Sox2,那么它会匹配Sox2,也会匹配Sox21;如果加了-w,则不会匹配Sox21。 更好的序列批量提取见 awk的使用。...模式匹配 grep强大的功能是支持正则匹配,默认使用基本正则表达式,-E使用扩展的正则表达式,-P使用perl格式的正则表达式。

1.8K100
领券