很高兴的看到咱们 DOS 联盟有了一批 AWK 的爱好者。
to yhsean
你的这个主意真的不错,用 AWK 创建自身需要的脚本。代码可否做一下以修改增加其通用性。
1、将 AWK 脚本设置开始、结束标示,方便解析。
2、调用脚本使用绝对路径
gawk "/^::AWK脚本定义开始/,/^::AWK脚本定义结束/{if ($0!~/^::AWK脚本定义(开始|结束)/)print $0 }" "%~f0" > yh.awk
gawk -f "%~dp0yh.awk" aa.TXT & del "%~dp0yh.awk"
goto END
::AWK脚本定义开始
BEGIN { FS="\n"}
{
if ($1!~/R\|/) {
if($1!~/T+/){temp = (temp $1 "\n")}
}
else {
# 搜索第一块数字域 域开始值 域跨度值
print match($1,/\|+\|/),RSTART,RLENGTH
name=substr($1,RSTART+1,RLENGTH-2)
print match($1,/\|\..*Min.*\|/),RSTART,RLENGTH
TIME=substr($1,RSTART+1,RLENGTH-2)
print TIME
sub("TIME",TIME,temp)
print temp>name".txt"
temp = ""
}
}
::AWK脚本定义结束
:END
Last edited by 无奈何 on 2005-12-21 at 21:42 ]