1、grep 加入选项 --line-buffered
tail -f /opt/log/master.log |grep ‘^29-.*成功‘ --line-buffered | ./1.awk | tee re3.txt &
2、 awk ‘{awk_scripts; fflush(); }‘ ; 调用 ffush();
1.awk 内容如下:
#!/bin/awk -f
#29-5 lhm存钱10000.0000成功
#29-3 wusthongmin取钱2000.0000成功
{
print $0;
f1=$1;
f2=$2;
opt=substr(f1,4,1);
beg=index(f2, "成功");
aa=substr(f2,1,beg-1);
num=split(aa, myarr,"钱")
if( 2== num){
money=myarr[2];
namelen=length(myarr[1]) - 2;
uname = substr(myarr[1],1, namelen);
printf("%d %12d %16s\n", opt, money, unmae);
}
fflush();
}
结果:
29-5 lhm存钱10000.0000成功
5 10000 lhm
29-3 wusthongmin取钱2000.0000成功
3 2000 wusthongmin
别的进程,再进一步处理操作日志文件
awk grep 立马刷缓存 结果定向入文件立即生效,布布扣,bubuko.com
原文:http://blog.csdn.net/wusthongmin/article/details/25714845