- 论坛徽章:
- 0
|
原帖由 nuclearxin 于 2008-12-15 22:19 发表
我在家没有环境调试
不过可以在
第一个if后面用
while(/解析清单/)getline
[root@rhel5test test]# cat ss.awk
BEGIN{
FS="[]|[]+"
}
{if(/解析清单/){
key1=$1$4$11
getline
...
嗯 是可以用的,但是还是出来一样的结果
# awk -f test.awk realbill_ora_st_002_20081204_00080.log > tmp.txt
# cat tmp.txt|wc -l
15265
无论我使用什么方法,始终少了716行,根据我之前低效率的脚本跑出来的错误文件里有看到下面这样的记录,这也是符合我的要求的行,包含两个(转换后帐单科目)这样的行也是允许在一起连续出现两行的
20081204 23:23:09 [INFO ](2875556) 解析清单 [ 13553353270 | PB | 01 | 4 | 46000 | 68304589 | B| 368 | 2802312a24 | 2 | 05 | N
| 0]! FILE:[RealBillOperator.cpp],LINE:[115]
20081204 23:23:09 [INFO ](2875556) 转换后帐单科目: 2005 FILE:[RealBillOperator.cpp],LINE:[119]
20081204 23:23:09 [INFO ](2875556) 转换后帐单科目: 2004 FILE:[RealBillOperator.cpp],LINE:[119]
20081204 23:23:09 [INFO ](2875556) 普通单 FILE:[RealBillOperator.cpp],LINE:[244]
20081204 23:23:09 [INFO ](2875556) Ebox Info:[0~0~0~0~0~601~0~0] FILE:[RB_Woff.cpp],LINE:[140]
20081204 23:23:09 [INFO ](2875556) After Woff Ebox Info:[0~0~0~0~0~233~0~0] FILE:[RB_Woff.cpp],LINE:[739]
20081204 23:23:09 [INFO ](2875556) 销帐结果 : [7544001841918 | 0 | 233 | 0 | 0 ] FILE:[RealBillOperator.cpp],LINE:[304] |
|