统计查看文件以及筛选日志

1、*.log 日志文件中 统计独立ip的个数:
awk '{print $1}' test.log | sort | uniq | wc -l
2、查询访问最多的前10个ip
awk '{print $1}' /access.log  | sort | uniq -c | sort -nr | head -
3、查看某段时间的
grep "2017:0[3-6]" test.log 
4、访问次数最多的IP
netstat -ntu | tail -n + | awk '{ print $5}' | cut -d : -f  | sort | uniq -c| sort -n -r | head -n 
tail -n +3 :去掉前两行。
awk '{ print $5}':取数据的低5域(第5列)
cut -d : -f 1 :取IP部分。
sort:对IP部分进行排序。
uniq -c:打印每一重复行出现的次数。(并去掉重复行)
sort -n -r:按照重复行出现的次序倒序排列。
head -n 5:取排在前5位的IP
5、shell统计一天 access.log 日志每小时每IP访问次数 :
awk -vFS="[:]" '{gsub("-.*","",$1);num[$2" "$1]++}END{for(i in num)print i,num[i]}' test.log
6、筛选关键字
grep 
grep '01/Sep/2017:16:06:47' logs/access.log
cat /opt/mongodb/log/mongodb.log.--10T05-- |grep "Dec 10"
sed
sed -n '/Dec 10/p' /opt/mongod/log/mongod.log
 
awk
awk '/Dec 10/ {print $0}' /opt/mongod/log/mongod.log
6、查询具体时间点 日志;
sed
sed -n '/Nov 11 16:24:17/p' /var/log/secure awk
awk '/Nov 11 16:24:17/ {print $0}' /var/log/secure tail -n test.log 查询日志尾部最后10行的日志;
tail -n + test.log 查询10行之后的所有日志;
head -n test.log 查询日志文件中的头10行日志;
head -n - test.log 查询日志文件除了最后10行的其他所有日志; cat -n test.log |tail -n +|head -n
tail -n +92   表示查询92行之后的日志
head -n    则表示在前面的查询结果里再查前20条记录
7、查找指定时间端的日志
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log
grep '2014-12-17 16:17:20' test.log
8、使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析.如:
cat -n test.log |grep "牛逼"  >test.log
 文件 处理
当前网络链接 排序;
netstat -ntu | tail -n + | awk '{ print $5}' | cut -d : -f | sort | uniq -c| sort -n -r | head -n 5
tail -n + :去掉前两行。
awk '{ print $5}':取数据的低5域(第5列)
cut -d : -f :取IP部分。
sort:对IP部分进行排序。
uniq -c:打印每一重复行出现的次数。(并去掉重复行)
sort -n -r:按照重复行出现的次序倒序排列。
head -n :取排在前5位的IP
shell 统计一天 access.log 日志每小时每IP访问次数 :
 awk -vFS="[:]" '{gsub("-.*","",$1);num[$2" "$1]++}END{for(i in num)print i,num[i]}' logs/access.log
查询 筛选关键字
grep
grep '01/Sep/2017:16:06:47' logs/access.log
cat /opt/mongodb/log/mongodb.log.--10T05-- |grep "Dec 10"

sed
sed -n '/Dec 10/p' /opt/mongod/log/mongod.log awk
awk '/Dec 10/ {print $0}' /opt/mongod/log/mongod.log
筛选 具体时间点 日志;
sed
sed -n '/Nov 11 16:24:17/p' /var/log/secure
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
awk
awk '/Nov 11 16:24:17/ {print $0}' /var/log/secure grep
grep '2014-12-17 16:17:20' test.log
查询 行数 筛选
tail -n 10 test.log 查询日志尾部最后10行的日志;
tail -n +10 test.log 查询10行之后的所有日志;
head -n 10 test.log 查询日志文件中的头10行日志;
head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
cat -n test.log |tail -n +92|head -n 20
tail -n +92表示查询92行之后的日志
head -n 20 则表示在前面的查询结果里再查前20条记录

查询 筛选保存 使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析,如:

cat -n test.log |grep "地形" >xxx.txt

Linux 文件日志筛选操作的更多相关文章

  1. Linux 文件类型及操作

    一.  文件类型 1.Linux文件类型如下图所示: 2.Linux文件类型有许多种,不同的文件类型代表特殊意义,使用以下命令可以查看文件类型: [root@VMredhat6 ~]# ls  -l  ...

  2. Linux文件的IO操作 一

    系统调用 系统调用: 操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务 为什么用户程序不能直接访问系统内核提供的服务 为了更好地保护内核空间, ...

  3. 40、Linux文件误删除恢复操作

    rm -rf / #此方法删除不了/目录: rm -rf /* #此方法可以删除/目录下的所有内容,禁止使用: 40.1.前言: 作为一个多用户.多任务的操作系统,Linux下的文件一旦被删除,是难以 ...

  4. Linux文件误删除恢复操作

    作为一个多用户.多任务的操作系统,Linux下的文件一旦被删除,是难以恢复的.尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是 其他用户和一些有写盘动作的进程会很快覆盖这些数据.不过 ...

  5. Linux文件与目录操作 ls 命令(2)

    说文件操作是最频繁地操作也不为过,在Linux中,使用ls命令可以列出当前目录中所有内容,本篇就先说说ls命令.本文所说的文件指文件和目录. ls命令常用选项 -a:显示指定目录下所有子目录与文件,包 ...

  6. linux 文件和目录操作

    1 相对路径和绝对路径 (与C++中概念相似) cd /root/cat 绝对路径 cd ../文件名/ 相对路径,指相对某个文件而言的 2 切换目录 cd  当前目录 进入某个目录 pwd 显示当前 ...

  7. linux文件查找及操作

    在linux下查找文件的办法最常用的就是find指令,让我们来看一下find指令如何来使用吧: find find . -name  txt             //在当前目录查找名字为txt的文 ...

  8. linux 文件 IO 目录操作及文件属性

    ///练习:实现列出某个目录中所有文件属性(文件大小,文件最后修改时间,文件名)//目录名由参数传入 ./dir /home/linux#include <sys/stat.h>#incl ...

  9. Linux文件与目录操作

    1:目录操作指令 cd :切换目录 pwd:显示当前目录 mkdir:创建一个新目录 rmdir:删除一个空的目录rmdir -r:删除一个非空目录 . :此层目录 .. :上层目录 -:前一个工作目 ...

随机推荐

  1. 破解xlsm文件的VBA项目密码和xlsx的工作簿保护密码

    工具 待破解的xlsm文件.Excel2010.Hex Editor 步骤 1.修改.xlsm后缀为.zip 2.使用压缩软件打开,进入xl目录找到vbaProject.bin文件,解压出来 3.使用 ...

  2. html5 简介

    html5基于html.html dom.xhtml的新版本. 为html5建立的一些新规则: 基于html.dom.xhtml和javascript: 减少对外部插件的需求,比如flash: 更多取 ...

  3. ES6定型数组

    前面的话 定型数组是一种用于处理数值类型(正如其名,不是所有类型)数据的专用数组,最早是在WebGL中使用的,WebGL是OpenGL ES 2.0的移植版,在Web 页面中通过 <canvas ...

  4. codeforces701C

    They Are Everywhere CodeForces - 701C 大B,年轻的口袋妖怪训练师,找到了一个由 n 间从左向右的房间组成的大房子.你可以从街道里走入任何一间房子,也可以从任何一间 ...

  5. codeforces710B

    Optimal Point on a Line CodeForces - 710B You are given n points on a line with their coordinates xi ...

  6. 洛谷 P4878 [USACO05DEC]layout布局

    题面链接 sol:差分约束系统裸题,根据a+b<=c建个图跑个最短路就没了... #include <queue> #include <cstdio> #include ...

  7. Galaxy S10使用几乎零黑边框的OLED显示屏

    2019年的首波安卓旗舰中,目前关于三星Galaxy S10的爆料是最多的,在销量连续萎缩后,外界对手机一哥的“发力之作”充满期待. 据TheElec报道,Galaxy S10正面使用的是一块几乎零黑 ...

  8. python深浅copy探究

    引入 在python程序中,如果我们操作一个变量的值去做运算,而又想在下次调用时,仍使用原来的变量的值去做运算,那么我们我们就需要将这个变量去做备份,这就是本文所要探究的问题. 开始 变量-对象-引用 ...

  9. BZOJ4196[Noi2015]软件包管理器——树链剖分+线段树

    题目描述 Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个 ...

  10. Redis之发布订阅

    一 什么是发布订阅 发布订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都将得到通知 Redis 发布订阅(pub/sub)是一种消息通信模式: ...