- 论坛徽章:
- 0
|
本帖最后由 kb2008 于 2011-09-14 10:58 编辑
我自己写的
#!/bin/bash
start="2011 09 07 09 30 00" ##################### 给定的起始时间
end="2011 09 07 10 00 59" ##################### 给定结束时间
awk -F '[-: ]+' -v s="$start" '{ if ( $1~/ERROR/ && mktime($2" "$3" "$4" "$5" "$6" "substr($7,1,2))
>=mktime(s)) print NR
}' catalina.out > tmp1
awk -F '[-: ]+' -v e="$end" '{ if ( $1~/ERROR/ && mktime(e)>=mktime($2" "$3" "$4" "$5" "$6"
"substr($7,1,2))) print NR }
' catalina.out > tmp2
t1=`head -n 1 tmp1`
t2=`tail -n 1 tmp2`
sed -n ''$t1','$t2'p' catalina.out
rm -rm tmp1
rm -rm tmp2
我这个catalina.out有 5G ,使用上面的脚本 大概需要40分钟左右,我希望优化后能在 2分钟左右 ,谢谢
我自己又改了一下,也要花30分钟- #!/bin/bash
- start="2011 09 07 09 30 00"
- end="2011 09 07 10 00 59"
- num_list=`cat catalina.out | wc -l `
- awk -F '[-: ]+' -v s="$start" '$1~/ERROR/ && mktime($2" "$3" "$4" "$5" "$6" "substr($7,1,2))>=mktime(s){ print NR;exit }
- ' catalina.out > tmp1
- tac catalina.out | awk -F '[-: ]+' -v e="$end" '$1~/ERROR/ && mktime(e)>=mktime($2" "$3" "$4" "$5" "$6" "substr($7,1,2))
- { print NR;exit }' > tmp2
- t1=`cat tmp1`
- t2=`cat tmp2`
- t3=`expr $num_list - $t2`
- sed -n ''$t1','$t3'p' catalina.out
- rm -rf tmp1
- rm -rf tmp2
复制代码 部分 目标文件- ERROR 2011-08-01 14:00:51.868 [Thread-20] - Send mail fault
- org.apache.commons.mail.EmailException: Sending the email to the following server failed : mail.askul.com.cn:25
- at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1138)
- at org.apache.commons.mail.Email.send(Email.java:1163)
- at com.easier.common.biz.email.EmailQueue.exec(EmailQueue.java:22)
- at com.easier.common.model.queues.AbstractQueue.execute(AbstractQueue.java:79)
- at com.easier.common.model.queues.AbstractQueue.run(AbstractQueue.java:102)
- at java.lang.Thread.run(Thread.java:595)
- Caused by: javax.mail.SendFailedException: Invalid Addresses;
- nested exception is:
- com.sun.mail.smtp.SMTPAddressFailedException: 550 5.1.1 <jqli@askul.com.cn>: Recipient address rejected: User unkn
- own
- at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1196)
- at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:584)
- at javax.mail.Transport.send0(Transport.java:169)
- at javax.mail.Transport.send(Transport.java:98)
- at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1128)
- ... 5 more
- Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 550 5.1.1 <jqli@askul.com.cn>: Recipient address rejected: User u
- nknown
- at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1047)
- ... 9 more
- ERROR 2011-08-01 14:52:21.223 [Thread-20] - Send mail fault
- org.apache.commons.mail.EmailException: Sending the email to the following server failed : mail.askul.com.cn:25
- at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1138)
- at org.apache.commons.mail.Email.send(Email.java:1163)
- at com.easier.common.biz.email.EmailQueue.exec(EmailQueue.java:22)
- at com.easier.common.model.queues.AbstractQueue.execute(AbstractQueue.java:79)
- at com.easier.common.model.queues.AbstractQueue.run(AbstractQueue.java:102)
- at java.lang.Thread.run(Thread.java:595)
- Caused by: javax.mail.SendFailedException: Invalid Addresses;
复制代码 |
|