linux,python 常用的处理log的命令
一般的log文件都是需要过滤
ps:管道符| 管道符前面的输出值
grep 过滤查找
将是error的log过滤显示
grep '221.2.100.138' web.access.log
grep 221.2.100.138 web.access.log
less web.access.log |grep "221.2.100.138"
统计error行数
grep '221.2.100.138' web.access.log |wc -l
less web.access.log |grep "221.2.100.138" |wc -l( 小写)
将error重定向(linux是>python是>>)到文件中
grep 221.2.100.138 web.access.log >mylog1.txt
其他常用参数,位置放在前面后面都可以
-i 不区分大小写 grep -i 'HTTP' web.access.log或者grep 'HTTP' -i web.access.log
-n 输出行号
-w 匹配整个单词
正则 grep '^#'
-c 统计行数
sed 行筛选
显示第一行
sed -n '1p' filename
显示第1,5行
sed -n '1,5p' filename
常用选项:
-n∶不使用的时候,会把所有数据都显示出来,但如果加上 -n 参数后,只显示经过处理的那几行
-e∶直接在指令列模式上进行 sed 的动作编辑;
-f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;
-r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
-i∶直接修改读取的档案内容,而不是由萤幕输出。
常用命令:
a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
s
命令是直接使用,参数是-一起使用
格式:
sed '/模式/' d filename或者sed '/模式d/' filename都可以。删除查询条件为模式的行
eg:删除以#开头的行,并将修改写入文件
sed '/^#/' d -i filename
如果不加-i是显示在屏幕上,这时候可以把结果重定向到文件中
sed '/^#/' d filename>filename_new 覆盖写入w
sed '/^#/' d -i filename>>filename_new追加写入aw
sed -n '/2015:08:39:59/,/2015:08:40:02/' p web.access.log 打印出这个时间段的log,p是打印的意思
sed -n '/2015:08:39:59/,/2015:08:40:02/' web.access.log |awk '{print $4,$5}'
awk分列
语法awk '{print $1}'打印第一列
awk -F : '{print $1}' 以:为分隔符打印出第一列 比如每行的数据格式是aa:bb,执行以后会取到aa,要想这个时候取值aa和bb,执行awk -F :'{print $1,$2}'
awk '{if(表达式){语句}}'
(1) awk '{print}' 打印所有列
(2)打印第一行的所有数据 awk 'NR==1{print}'
(3)打印第二行第一列 awk 'NR==2{print $1}'
grep '106.39.249.119' web.access.log | awk '{print $1,$2}' 打印出含有106这个ip地址的第一列和第二列
awk '{if($1=="106.39.241.119"){print $1,$2}}' web.access.log 打印出ip地址是106的第一列和第二列
awk '$1=="106.39.249.119" {print $1,$2}' web.access.log同上
其他组合用法
1.统计wc
统计行数(line) |wc -l more filename|wc -l或者wc -l filename
统计单词数(word) |wc -w
统计字符数 |wc -c (bytes)
2.排序sort 经常与|管道符使用
|sort -n 按照数字进行排序,不加,会出现1后面是10这种排序
|sort -nr 反序reverse排序
3.去重uniq
经常与管道符结合使用|
|uniq -c 将该重复的数据的行数统计出 一般在uniq -c|sort -n使用,因为uniq会把数字统计出来,然后sort -n按照数字进行排序
|uniq -d 只显示重复的行
|uniq -u 只显示不重复的行
例子:
统计出访问日志中有多少个不同的ip
awk '{print $1}' web.access.log |sort|uniq -c|wc -l
统计访问最高的ip
cat access.log|awk '{print $2}'|uniq -c|sort -nr|head -n 1
或者
cat acess.log|awk '{print $2}'|uniq -c|sort -nr|sed '1p'
字符转换tr,以下转换不会对源文件进行操作
tr '#' '!' 把#全部转换成!
cat a.log |tr 'a-z' 'A-Z'
linux,python 常用的处理log的命令的更多相关文章
- Linux中常用的监控性能的命令(sar、mpstat,vmstat, iostat,)详解
Linux中常用的监控性能的命令有: sar:能查看CPU的平均信息,还能查看指定CPU的信息.与mpstat相比,sar能查看CPU历史信息 mpstat:能查看所有CPU的平均信息,还能查看指定C ...
- 【2016-10-11】Linux系统常用的关机或重启命令shutdown、reboot、halt、poweroff、init 0及init 6的联系与区别
Linux下常用的关机/重启命令一般包括: shutdown.reboot.halt.poweroff等,当然了我们可以使用init 运行等级runlevel 0即halt来关机,或使用init 运行 ...
- Linux中常用的查看系统信息的命令
导读 Linux是一个神奇而又高效的操作系统,学完Linux对Linux系统有一个熟悉的了解后,你需要了解下这些实用的查看系统信息的命令. 查看系统版本命令 uname 谈到系统版本就一定会想到una ...
- linux不常用但很有用的命令(持续完善)
Linux登录后设置提示信息: /etc/issue 本地端登录前显示信息文件 /etc/issue.net 网络端登录前显示信息文件 /etc/motd 登陆后显示信息文件 可以添加以下几个常用选项 ...
- Linux下常用的硬件信息查看命令
1.查看CPU型号,这里为了方便查看结合管道符用grep进行了匹配,当然只需要前面的命令也可以,命令如下: cat /proc/cpuinfo | grep "model name" ...
- Linux中常用的查找文件的命令
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料(参考资料1),因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用. w ...
- Linux中常用的关机和重新启动命令
hutdown.halt.reboot以及init,它们都可以达到关机和重新启动的目的,但是每个命令的内部工作过程是不同的,下面将逐一进行介绍. 一.shutdown shutdown命令用于安全关闭 ...
- Linux中常用来查看进程的命令PS
查看所有运行中的进程:ps aux | less 显示所有进程: ps -A / ps -e 显示进程的树状图:pstree
- linux系统常用监控系统状态信息命令
[root@bogon ~]# uptime #平均负载 23:33:21 up 2:09, 3 users, load average: 0.02, 0.05, 0.05 [root@bogon ~ ...
随机推荐
- ArrayList代码示例
package com.shushine.framework.第七章Java标准类库;import java.util.ArrayList;/** * * <p> * 描述该类情况 {@l ...
- CentOS安装Nvidia显卡驱动提示Nouveau正在使用的问题
如题,在安装Nvidia官方提供的驱动时,提示Nouveau正在被使用,需要停用后才能继续安装,在网上搜了不少方法,各种尝试后均无效. 最后通过设置内核启动参数给屏蔽了,方法如下: 切换到root用户 ...
- Java的final关键字
使用final关键字做标识有“最终的”含义 final可以修饰类.方法.属性和变量: 修饰类,则该类不允许被继承(即不能有子类) 修饰方法,则该方法不允许被覆盖(重写) 修饰属性,则该属性不会进行隐形 ...
- 通过配置的方式Autofac 《第三篇》
一.基本配置 1.通过配置的方式使用Autofac <?xml version="1.0"?> <configuration> <configSect ...
- 从零开始HTML(二 2016/9/20)
1.布局 ① 使用 <div> 元素的 HTML 布局,<div> 元素常用作布局工具,因为能够轻松地通过 CSS 对其进行定位. <!DOCTYPE html> ...
- (转载)U-boot启动完全分析
1.1 U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能 Ø 硬件设备初始化 Ø 加载U-Boot第二阶段代码到RAM空间 Ø 设置好栈 Ø ...
- CoreText原理及基本使用方法
关于富文本的排版也是现在的一个技术点,以下是近日关于CoreText的学习记录以及个人理解,希望能对正在学习CoreText的朋友起到帮助. 1.框架坐标系 首先让我们先来看看CoreText坐标系和 ...
- linux tar.gz
tar命令用于对文件打包压缩或解压,格式为:“tar [选项] [文件]”. 打包并压缩文件:“tar -czvf 压缩包名.tar.gz 文件名” 解压并展开压缩包:“tar -xzvf 压缩包名. ...
- Linux 系统目录结构
登录系统后,在当前命令窗口下输入命令: ls / 你会看到如下图所示: 树状目录结构: 以下是对这些目录的解释: /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令. /boot ...
- ASP.NET 程序中删除文件夹导致session失效解决问题
在Global中 Application_Start 添加 如: void Application_Start(object sender, EventArgs e) { //在 ...