工作中常会用串口打印日志,在secureCrt中做:
这样的设置,打印出来的日志为:
09:11:21.998 :eload pin is High!
09:11:22.023 :RC48MHzCaliSysClk=49440000
09:11:22.048 :Start to run....
09:11:22.061 :smtlk_sign= 0
09:11:22.061 :
09:11:22.061 :
09:11:22.176 :!!!!!!!!!sdk version(HSF-V1.40-201503201010-LPB100-128-16B),the app_main start time is May 16 2017 23:19:04
09:11:22.210 :!!!!! the version num is(000)_______
09:11:22.243 :erase address=be000 page cnt=1
09:11:22.276 :erase address=bf000 page cnt=1
这样有规律的格式,当拷机测试时,可能出现定时器到了某些操作没有执行的情况(比如心跳),于是使用下面脚本就能很快在很大的日志文件中,找到有用的信息:
#!/bin/bash
fn=$1
kw=$2
it=$3
cat $fn |sed -n "/${kw}/p"|awk -F ':' '{if(be != 0){v=($1-a)*3600+($2-b)*60+$3-c} if(v<0){v=v+86400}be=1;a=$1; b=$2; c=$3; if(v-"'${it}'"> 3 || v-"'{it}'" < -3) print $1":"$2":"$3,v}'
其中 $1是日志文件名, $2是关键字 , $3是时间间隔