我看起来几乎无处不在(there,there,there,there和there)没有运气。Linux grep和排序日志文件
我在这里有一堆目录中的日志文件,我需要查找特定的ID(myID)并按日期对输出进行排序。下面是一个例子:
在file1.log:
在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}
Exepected输出:
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' – Dave
好吧,我必须删除-n选项。 最后的命令是:grep -ri --color = always“myID”| sort -k2 – justinlevol