linux grep时间排序,关于排序:Linux grep和排序日志文件
我几乎到处都没有运气,看上去(那里,那里,那里,那里和那里)。
我在这里拥有的是目录中的一堆日志文件,我需要在其中查找特定的ID(myID)并按日期对输出进行排序。 这是一个例子:
在file1.log中:
2015-09-26 15:39:50,788 - DEBUG - blabla : {'id' : myID}
在file2.log中:
2015-09-26 15:39:51,788 - ERROR - foo : {'id' : myID}
在file3.log中:
2015-09-26 15:39:48,788 - ERROR - bar : {'id' : myID}
预期输出:
2015-09-26 15:39:48,788 - ERROR - bar : {'id' : myID}
2015-09-26 15:39:50,788 - DEBUG - blabla : {'id' : myID}
2015-09-26 15:39:51,788 - ERROR - foo : {'id' : myID}
我现在正在做的(并且效果很好)是:
grep -hri --color=always"myID" | sort -n
唯一的问题是,使用grep的-h选项时,文件名被隐藏。 我想保留文件名并保持排序。
我试过了 :
grep -ri --color=always"myID" | sort -n -t":" -k1,1 -k2,2
但这是行不通的。 基本上,grep命令输出文件名,后跟":",我想根据该字符对结果进行排序。
非常感谢
您的日期中包含冒号,并且排序字段基于1。 尝试-k2
好的,我必须删除-n选项。 最终命令是:grep -ri --color = always" myID" | 排序-k2
尝试这个:
grep --color=always"myID" file*.log | sort -t : -k2,2 -k3,3n -k4,4n
输出:
file3.log:2015-09-26 15:39:48,788 - ERROR - bar : {'id' : myID}
file1.log:2015-09-26 15:39:50,788 - DEBUG - blabla : {'id' : myID}
file2.log:2015-09-26 15:39:51,788 - ERROR - foo : {'id' : myID}
它仍然具有-n,这意味着yyyy-mm-dd hh列将忽略年份之后的所有内容。 如果您解决此问题,由于-k2使用的是2-to-end列,而不仅仅是2列,因此-k3 -k4变得多余。
谢谢。 香港专业教育学院更新了我的答案。
@Cyrus出于某种原因,当我将输出重定向到文件时,它到处都会产生不需要的字符,即:^ [[m ^ [[K ^ [[36m ^ [[K:^ [[m ^ [[KJul 14 15 :57:47而不是这样:Jul 14 15:57:47
@vaibhavkumar:您的文件似乎包含特殊字符。 检查文件:cat -A file或cat -v file。
排序的列顺序是从1开始的,因此k1将是文件名部分。这意味着您尝试按文件名排序,然后按日志行的日期和小时排序。另外,-n表示您正在使用数字顺序,这与yyyy-mm-dd hh:mm:ss格式不能很好地配合使用(它将仅作为第一个数字(即年份)读取yyyy-mm-dd hh) 。
您可以使用:
sort -t":" -k2
请注意,我将第2列指定为开始,而将结束留为空白。末尾默认为行尾。
如果要对特定列进行排序,则需要显式设置开始和结束,例如:-k2,2。您可以使用它来对乱序列进行排序,例如-k4,4 -k2,2将按列4进行排序,并使用列2进行平局。
您还可以使用-k2,4,它将在您的日志详细信息之前在冒号处停止排序(即它将使用2015-09-26 15:39:48,788 - ERROR - bar)
最后,如果时间相同,也许您希望日志文件的顺序一致:
sort -t":" -k2,4 -k1,1
另一个解决方案,时间更长一点,但我认为它应该起作用:
grep -l"myID" file* > /tmp/file_names && grep -hri"myID" file* | sort -n > /tmp/grep_result && paste /tmp/file_names /tmp/grep_result | column -s $'\t' -t
它的基本作用是,首先通过以下方式存储文件名:
grep -l"myID" file* > /tmp/file_names
存储grep排序结果:
grep -hri"myID" file* | sort -n > /tmp/grep_result
逐列粘贴结果(使用制表符分隔符):
paste /tmp/file_names /tmp/grep_result | column -s $'\t' -t
linux grep时间排序,关于排序:Linux grep和排序日志文件相关推荐
- linux设置时间快1小时,LINUX CentOS系统时间与现在时间相差8小时解决方法
GPS 系统中有两种时间区分,一为UTC,另一为LT(地方时)两者的区别为时区不同,UTC就是0时区的时间,地方时为本地时间,如北京为早上八点(东八区),UTC时间就为零点,时间比北京时晚八小时,以此 ...
- linux如果时间等于22点,Linux下ntpdate时间同步
1 简介 Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC). 系统时间:指当前Linux Kernel中的时间. 硬件时间:主板上有电 ...
- linux修改时间写入cmos,解析Linux操作系统修改时间
如果你在你的电脑上安装了Linux操作系统,可是Linux操作系统上显示的时间是不对的,怎样才能调节好呢?机器上的时间比较复杂,有各式各样的时钟和选项等等.机器里有两个时钟.硬件时钟从根本上讲是CMO ...
- Linux超时时间为0,在 Linux/Mac 下为Python函数添加超时时间
在 Linux/Mac 下为Python函数添加超时时间 收录于话题 #你不知道的 Python 71个 摄影:产品经理 产品经理亲自下厨 我们在使用 requests 这类网络请求第三方库时,可以看 ...
- 查询Linux充电时间,【充电】Linux学习(二)——常用的linux命令
昨天的文件的创建.编辑.删除命令写了个教程自己记得也很清楚了,今天找了几个常见命令来学习. 切换当前路径 首先是像windows一样,我们要运行一个文件,得知道如何跳转到一个指定路径下然后再进行相应的 ...
- 进入路由器linux系统时间长,如何用linux做路由器限速
如何用linux做路由器限速 linux的开源和免费使得越来越多的厂家用它来做防火墙和路由器,如海蜘蛛,飞鱼星等,其实我们也可以用linux来打造一台高性能的路由器.下面就以redhat为例(其他版本 ...
- linux 指定时间加3天,Linux系统的定时任务和延时任务
1.系统延时任务 at now+1min##延时1分钟 at> touch file{1..10} at> job 2 at Sun Jan 20 02:07:00 2019 监控/mnt ...
- linux 启动tomcat 怎么显示日志文件,随着LINUX的启动,打开一个终端显示TOMCAT的日志文件,请问如何做到?...
FC7下已配置好TOMCAT 5能自动随系统的启动而启动! 我在FC7系统启动完成后自动弹出一个终端,并其中执行命令tail -f rootDownloadjakarta5.0.28logscatal ...
- 关于linux校准时间
hwclock --show 显示硬件时间 hwclock -w 根据系统时间设置硬件时间 很完整的文章,其中ntpdate设置时间会造成时间跳跃,不安全,而且只能一次性,所以一般还需要搭配cr ...
- Linux系统时间同步方法小结
原文装载自:https://www.cnblogs.com/ibnode/p/3573302.html 在Windwos中,系统时间的设置很简单,界面操作,通俗易懂,而且设置后,重启,关机都没关系.系 ...
最新文章
- Bitcoin ABC和区块上限——通过技术实现更大的区块
- BZOJ4475: [Jsoi2015]子集选取【找规律】【数学】
- kingshard--一个支持sharding的MySQL Proxy项目
- SIGIR 2019 开源论文 | 用户注意力指导的多模态对话系统
- 丁香园 武汉 神童_杭州、武汉、成都哪个城市更适合程序员发展
- Stupid cat Doge (分形图)
- python datetime
- 如何在centos上安装epel源
- 一瞬间-自定义一个漂亮的日期控件
- javascript学习笔记(十九) 节点的操作
- keil窗口显示不全_使用Keil语言的嵌入式C编程教程(下)
- MTK7620A FLASH W25Q256学习
- python爬取中国大学排名_Python爬取中国大学排行榜
- 女性程序员你需要注意
- 各种字符串Hash函数比较
- 显卡---显卡驱动---CUDA---Cudnn
- python爬取路况信息_高德实时路况数据获取
- 一款内网横向渗透辅助工具
- jaspersoft 报表设计器简单的使用(二)
- 华为破除魔咒:任正非的自我革命
热门文章
- 匆忙推出的Mobileme没有得到广泛的认可,用户认为它速度缓慢、价格昂贵还总是出错
- 短信发送活动页的短链打开app,app引流
- 大话IT 满大街跑的都是月薪上万的小程序员 zt
- 计算机专业卖多少寸的笔记本,现在笔记本电脑显示屏的主流尺寸是多大?
- linux 处理挖矿
- C# 用zip,批量压缩文件,并打包下载
- 高级shell扩展---getopts命令
- 【附源码】Java计算机毕业设计网上拍卖系统(程序+LW+部署)
- 虞小约的Java之旅第一天(Java的基本格式)
- 程序员炫技:用c语言开发对对碰游戏,你打几分?