Board logo

标题: 请教一下awk代码怎么转化到bat文件中来 [打印本页]

作者: dhyang     时间: 2007-6-16 10:27    标题: 请教一下awk代码怎么转化到bat文件中来

各位大侠,请教一下下面的unix的shell下面的awk代码怎么转化到bat文件中来,诚请不吝赐教,谢谢

awk -F\| '{printf "%s%s%s%s%s%s\n",$1,$2,$3,$4,$5,$6}' $sourcefile > $file1

awk -v importdate=$ImportDate '{if(substr($0,24,2)=="09"||substr($0,24,2)=="29"||substr($0,24,2)=="19"||substr($0,24,2)=="39"||substr($0,24,2)=="10"||substr($0,24,2)=="14") printf"%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|\n",importdate,substr($0,1,5),substr($0,6,5),substr($0,11,5),substr($0,16,17),substr($0,33,3),substr($0,36,18),substr($0,54,10),substr($0,64,8),substr($0,72,9),substr($0,81,1),substr($0,82,18),substr($0,100,1),substr($0,101,3),substr($0,104,9),substr($0,113,5),substr($0,118,5),substr($0,123,20),substr($0,143,60),substr($0,203,5),substr($0,208,5),substr($0,213,5),substr($0,218,6),substr($0,224,3),substr($0,227,15),substr($0,242,4),substr($0,246,40),substr($0,286,10),substr($0,296,15),substr($0,311,18),substr($0,329,18),substr($0,347,18),substr($0,365,18),substr($0,383,34),substr($0,417,60)}'  $file1 > $file2

awk -F\\ '{printf "%s%s%s%s%s%s\n",$1,$2,$3,$4,$5,$6}' $file2 > $file1
awk -F\/ '{printf "%s%s%s%s%s%s\n",$1,$2,$3,$4,$5,$6}' $file1 > $file2

head -n 1 $file2 > $file3
tail -n 1 $file2 >> $file3

awk -F\| '{printf "%s\n",$5}' $file3 > $lastfile
作者: lxmxn     时间: 2007-6-16 10:55

BEGIN{
#以#号开头的是注释行
#BEGIN里面写上初始化的代码,比如初始化变量等等
#这里也可以写脚本对文件进行处理之前要做的事情
}
{
#这里是对文件进行处理的一段
}
END{
#对文件的处理完了之后要进行的操作
}
假如以上脚本为 awkscript.txt ,那么在命令行可以这样来处理文件 input.txt ,并将结果输出到 output.txt 文件中去。
awk -f awkscript.txt input > output.txt
自己照这个来写。
作者: dhyang     时间: 2007-6-16 16:08
试了一下,好象不行,我是希望在bat文件中实现上诉awk的功能,请问除了第三方软件有办法没?
作者: lxmxn     时间: 2007-6-16 21:21
在批处理里面是可以的,建议楼主先看看awk的基础教程。
作者: dhyang     时间: 2007-6-18 10:36
这个是不是在unix下运行的啊?我是想要在dos下运行的~~~