Sed 从mysql日志进行大于或等于7秒的慢速查询

Sed 从mysql日志进行大于或等于7秒的慢速查询,sed,Sed,我想要在mysql日志中有7秒或大于7秒的sloq查询。 mysql日志文件的大小大于500 Mb,因此 我的脚本首先从mysql日志中选择datewise慢速查询,然后从中选择大于7秒的查询。日志输出如下所示 # Time: 161223 12:40:42 # User@Host: root[root] @ [10.160.15.69] # Query_time: 5.307732 Lock_time: 0.000061 Rows_sent: 1 Rows_examined:303340

我想要在mysql日志中有7秒或大于7秒的sloq查询。 mysql日志文件的大小大于500 Mb,因此 我的脚本首先从mysql日志中选择datewise慢速查询,然后从中选择大于7秒的查询。日志输出如下所示

# Time: 161223 12:40:42
# User@Host: root[root] @  [10.160.15.69]
# Query_time: 5.307732  Lock_time: 0.000061 Rows_sent: 1  Rows_examined:30334028
使用Dbname; 设置时间戳=1482477042;
选择PRR.pr\U注册申请日期介于STR\U至日期“2015-12-23”和“%Y-%m-%d”之间,STR\U至日期“2016-12-23”之间,存在“%Y-%m-%d”从IM.item\U主项目\U项目代码=PRR.pr\U注册材料\U代码的项目中选择项目主项目id

为什么不使用AWK$3=排队时间中的第三名

示例数据test.txt

# Query_time: 9.353543 Lock_time: 0.000036 Rows_sent: 0 Rows_examined: 9091792 use Aarti_Engineering_Purchase; SET timestamp=1482477646; SELECT fieldvalue,I.InquiryID FROM FormMaster FM,FormDetail FD,Inquiry I,InquiryDetails I.InquiryID = ID.InquiryID AND AttributeValue IN ('ProjectCode');
# Query_time: 7.353543 Lock_time: 0.000036 Rows_sent: 0 Rows_examined: 9091792 use Aarti_Engineering_Purchase; SET timestamp=1482477646; SELECT fieldvalue,I.InquiryID FROM FormMaster FM,FormDetail FD,Inquiry I,InquiryDetails I.InquiryID = ID.InquiryID AND AttributeValue IN ('ProjectCode');
# Query_time: 9.353543 Lock_time: 0.000036 Rows_sent: 0 Rows_examined: 9091792 use Aarti_Engineering_Purchase; SET timestamp=1482477646; SELECT fieldvalue,I.InquiryID FROM FormMaster FM,FormDetail FD,Inquiry I,InquiryDetails I.InquiryID = ID.InquiryID AND AttributeValue IN ('ProjectCode');
# Query_time: 2.353543 Lock_time: 0.000036 Rows_sent: 0 Rows_examined: 9091792 use Aarti_Engineering_Purchase; SET timestamp=1482477646; SELECT fieldvalue,I.InquiryID FROM FormMaster FM,FormDetail FD,Inquiry I,InquiryDetails I.InquiryID = ID.InquiryID AND AttributeValue IN ('ProjectCode');
# Query_time: 28.353543 Lock_time: 0.000036 Rows_sent: 0 Rows_examined: 9091792 use Aarti_Engineering_Purchase; SET timestamp=1482477646; SELECT fieldvalue,I.InquiryID FROM FormMaster FM,FormDetail FD,Inquiry I,InquiryDetails I.InquiryID = ID.InquiryID AND AttributeValue IN ('ProjectCode');
简单地说:

awk '$3 < 7' ./test.txt 
您可以使用grep:

对于sed:


在查询中还有其他参数,如。。。时间:161223 12:50:46User@Host:root[root]@[10.160.15.69]既然这个awk不能正常工作,我身上发生了很多奇怪的事情。我有一个大文件,从它我像尾巴尾随-500文件>文件1和尾巴-2000文件>文件2你的查询是工作,如果我有文件,其中有500行在这里文件,但如果我有2000行与文件2,然后3,4,5秒的查询时间也显示在输出!!!对我来说,这是非常奇怪和奇怪的。@nirajvara,请更新/编辑您的问题,并说明您的输入文件是什么样子的。我有更新我的问题没有附件选项,否则也会附加文件,但这只是一个普通的mysql日志。
awk '$3 > 7.5' ./test.txt >> ./long_query.txt
grep 'Query_time: [7-9]' file
sed -n '/Query_time: [7-9]/p' file