当前位置: 技术问答>linux和unix
求shell查找的一个小问题!!
来源: 互联网 发布时间:2017-05-28
本文导语: 如有log文件如下 2014-08-27T17:51:14.974|SQLCOST|38 ms 2014-08-27T17:51:14.974|SQLCOST|51ms 2014 adfg a ag sg asg 2014-08-27T17:51:14.974|SQLCOST|0 ms 2014-08-27T17:51:14.974|SQLCOST|9 ms 如何找出ms前面时间大于等于50的 | awk '/ms/{n=$0;g...
如有log文件如下
2014-08-27T17:51:14.974|SQLCOST|38 ms
2014-08-27T17:51:14.974|SQLCOST|51ms
2014
adfg a
ag sg
asg 2014-08-27T17:51:14.974|SQLCOST|0 ms
2014-08-27T17:51:14.974|SQLCOST|9 ms
如何找出ms前面时间大于等于50的
2014-08-27T17:51:14.974|SQLCOST|38 ms
2014-08-27T17:51:14.974|SQLCOST|51ms
2014
adfg a
ag sg
asg 2014-08-27T17:51:14.974|SQLCOST|0 ms
2014-08-27T17:51:14.974|SQLCOST|9 ms
如何找出ms前面时间大于等于50的
|
awk '/ms/{n=$0;gsub(/.*|/,"",n);gsub(/[^0-9]/,"",n);if(n>50)print}' a.txt
awk '/ms/{n=$0;gsub(/.*|/,"",n);if(n+0>50)print}' a.txt
awk 'BEGIN{FS=OFS="|"}/ms/{if($NF+0>50)print}' a.txt
|
egrep "([5-9][0-9]ms$) | ([0-9]{3}ms$)" log.txt
这个应该可以找出 50-999 ms 的行
这个应该可以找出 50-999 ms 的行