- 论坛徽章:
- 0
|
菜鸟求助,我用awk编写的程序无法运行。
有以下temp文本,想根据首字段,生成以其为后缀的文件(如report.### ###表示901至904)。
901 63 99016301171 03-04-30 03-04-30 -32385000 665303
901 60 99016301171 03-04-30 03-04-30 -32385000 6605303
901 64 99016301181 03-04-30 03-04-30 -22271000 6604605
901 63 99016301171 03-04-30 03-04-30 -32385000 665303
902 63 99016301171 03-04-30 03-04-30 -32385000 665303
903 63 99016301171 03-04-30 03-04-30 -12771233 6004604
903 64 99016301161 03-04-30 03-04-30 -12162800 6005306
904 63 99016301171 03-04-30 03-04-30 -4903144 6004602
904 63 99016301171 03-04-30 03-04-30 -2680466 6005307
我想可能是变量用错了及最后的文本生成错了,但不知道如何修改,清帮忙修正。
另外我想在在awk中搜索第一个字段是901,第2个字段是63或60或64的记录清问如何做到呢?
程序如下
cat temp | awk '
BEGIN {
for (dept=901,dept<=904;i++)
{
printf "\n%50s\n\n\n"," 交易清单 "
printf "%4s %2s %6s %10s %8s %18s %8s\n\n ",
"机构","部门", "帐号","交易日","起息日","交易金额","摘要"
}
$1==$dept
END {
printf "\n%20s","制表: 复核:"
}
system(">report"."$dept)
}
' |
|